- 博客(31)
- 收藏
- 关注
原创 STM32——DAC篇(基于f103)
传感器信号采集改变电信号,通过ADC转换成单片机可以处理的数字信号,处理后,通过DAC转换成电信号,进而实现对系统的控制。dac.c/* DAC初始化函数 *//* 初始化DAC *//* 不使用触发功能 *//* DAC输出缓冲关闭 *//* 配置DAC通道1 *//* 开启DAC通道1 *//* DAC MSP初始化函数 *//* 设置通道输出电压 *//* 如果值大于等于4096, 则取4095 *//* 12位右对齐数据格式设置DAC值 */main.c。
2024-05-18 14:30:48
4236
1
原创 STM32——ADC篇(基于stm32f103)
HAL_Init();/* 初始化HAL库 *//* 设置时钟, 72Mhz *//* 延时初始化 *//* 串口初始化为115200 */led_init();/* 初始化LED *//* 初始化LCD */adc_init();/* 初始化ADC *//* 先在固定位置显示小数点 */while (1)/* 显示ADCC采样后的原始值 */printf("原始值:%d\n",adcx);
2024-05-16 20:18:32
1953
原创 STM32——DMA篇
* 内存到内存 DMA传输 *//* 使能DMA1时钟 *//* 与目标地址相关 *//* 与源地址相关 *//* 内存到内存是不支持循环模式 */HAL_Init();/* 初始化HAL库 *//* 设置时钟, 72Mhz *//* 延时初始化 */led_init();/* 初始化LED */key_init();/* 初始化按键 *//* 初始化蜂鸣器 */LED0(0);/* 先点亮LED0 */dma_init();
2024-05-13 11:11:08
329
原创 STM32——TIMER(定时器)篇
使用纯软件(CPU死等)的方式实现定时(延时)功能缺点:1. 延时不准确 2. CPU死等。主要特性:16位递增计数器(计数值:0~65535)16位预分频器(分频系数:1~65536)可用于触发DAC在更新事件(计数器溢出)时,会产生中断/DMA请求主要特性:16位递增、递减、中心对齐计数器(计数值:0~65535)16位预分频器(分频系数:1~65536)可用于触发DAC、ADC在更新事件、触发事件、输入捕获、输出比较时,会产生中断/DMA请求。
2024-05-06 19:21:00
9480
1
原创 STM32——串口
技术笔记!波特率计算公式:baud="fck" /(16∗USARTDIV);"其中fck"是串口的时钟,如:USART1的时钟是PCLK2,其他串口都是PCLK1波特比率寄存器(BRR):把USARTDIV的整数部分写入位[15:4], USARTDIV的小数部分写入[3:0]如何使用寄存器操作的方式设置波特率?波特率设置通用公式推演1. 控制寄存器1(CR1)该寄存器需要完成的配置:位13:使能USART位12:配置8个数据位位10:禁止检验控制位5:使能接收缓冲区非空中断位3:使能发送位
2024-05-04 02:00:00
1995
原创 STM32——WWDG(窗口看门狗)
本质:能产生系统复位信号和提前唤醒中断的计数器。特性:递减的计数器;当递减计数器值从 0x40减到0x3F时复位(即T6位跳变到0);计数器的值大于W[6:0]值时喂狗会复位;提前唤醒中断 (EWI):当递减计数器等于 0x40 时可产生;喂狗:在窗口期内重装载计数器的值,防止复位。作用:软件异常,精准时间把控。
2024-05-03 19:18:08
868
原创 STM32——中断篇
中断是单片机正在执行程序时,由于内部或外部事件的触发,打断当前程序,转而去处理这一事件,当处理完成后再回到原来被打断的地方继续执行原程序的过程。在ARM体系结构中,中断通常由外设或外部输入产生,有时也可以由软件触发。中断是单片机系统处理紧急或突发事件的重要方式,如定时器溢出、按键输入、串口数据到达等。
2024-05-03 13:34:23
6209
3
原创 STM32——GPIO篇
GPIO是通用输入输出端口(General-purpose input/output)的英文简写,是所有的微控制器必不可少的外设之一,可以由STM32直接驱动从而实现与外部设备通信、控制以及采集和捕获的功能。GPIO口可配置为多种输入输出模式,如输入浮空、输入上拉、输入下拉、模拟输入、开漏输出、开漏复用功能、推挽式输出以及推挽式复用功能等。STM32单片机的GPIO被分为很多组,每组最多有16个引脚,不同型号的 MCU 的GPIO个数是不同的。引脚电平:0V~3.3V,部分引脚可容忍5V(FT)。
2024-05-03 12:47:08
1739
1
原创 ARM体系结构
早先经典处理器包括ARM7、ARM9、ARM11家族。Cortex-A系列针对开放式操作系统的高性能处理器,应用于智能手机、数字电视、智能本等高端运用。Cortex-R系列针对实时系统、满足实时性的控制需求,应于汽车制动系统、动力系统等。Cortex-M系列为单片机驱动的系统提供了低成本优化方案,应用于传统的微控制器市场、智能传感器、汽车周边等。2. RISC处理器RISC处理器(精简指令集)
2024-04-15 21:10:18
1364
1
原创 Linux 开发----在线英语字典
在整个开发过程中收获还是挺多的,首先,熟悉了整个应用程序开发的大致流程,在开发之前可以先思考程序由哪几个模块实现,再分析一下每个模块使用什么方式来实现,并且在实现代码的同时做一些提示性语句,方便代码完成之后的调式。其次,对文件IO操作、进程的操作、网络socket编程、数据库的操作有了更深层次的理解和应用。
2024-04-10 20:12:37
803
1
原创 一篇文章拿捏SQLite3数据库
SQLite是一种轻量级的嵌入式数据库引擎,它是一个C库,不需要独立的服务器进程,将数据库引擎与应用程序直接连接在一起。SQLite数据库适用于许多不需要高并发和大规模数据处理的应用程序,如移动应用程序、桌面应用程序和小型Web应用程序等。轻量级:SQLite库的代码非常轻量,库文件仅几百KB大小,非常适合嵌入到其他应用程序中。无服务器:SQLite将数据库引擎与应用程序直接连接在一起,没有独立的服务器进程,无需配置和管理服务器。
2024-04-08 10:30:00
985
1
原创 Linux——文件IO操作
本篇文章主要是讲解在Linux环境下文件IO操作,包含文件IO中的基本概念以及一些常用的函数接口调用,希望可以给读者带来技术上的帮助!本文讲解了三种类型IO操作以及库,三种类型分别是标准IO、文件IO以及目录,三者既有不同点又有相同点。
2024-03-22 21:05:02
1796
1
原创 左旋字符串
题目分享汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列 S ,请你把其循环左移 K 位后的序列输出。例如,字符序列 S = ”abcXYZdef” , 要求输出循环左移 3 位后的结果,即 “XYZdefabc”数据范围:输入的字符串长度满足 0≤len≤100 , 0≤n≤100。
2024-02-28 20:39:45
329
原创 用c语言实现简单的扫雷小游戏
扫雷是一款经典的电脑游戏,玩家需要在一个方格网格中找出所有不含雷的方格,避开含有雷的方格。每个方格上的数字表示该方格周围8个方向上的雷的数量。玩家需要根据这些数字判断出雷的位置,游戏的目标是在不触雷的情况下找出所有的雷。扫雷是一款考验逻辑推理能力和运气的游戏,深受玩家喜爱。
2024-01-31 08:30:00
425
原创 用C语言实现简单的五子棋游戏
在编写代码时,遇到一些小问题,还好通过调试一步一步的实现基本功能。初学者可以通过对代码的进行一些调试,可以发现代码的一些问题。代码电脑下棋部分,电脑是随机下的,读者可以通过一些算法将电脑下棋这部分代码写的灵活一点。
2024-01-28 16:50:21
1027
2
c语言 整蛊小游戏 !!!!
2024-01-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人