采用STM32F103C8T6单片机,KeilMDK5.32版本 定时器2的使能信号被用于作为触发输出(TRGO),定时器2工作在触发模式下,TRGI来源输入捕获的上升沿信号。 定时器3工作在触发模式下,TRGI来源定时器的TRGO。 定时器2 计数周期1000ms 定时器3 计数周期500ms 开启定时器2和3的更新中断,在更新中断回调函数发送相应的数据。 先初始化主模式下的定时器,因为在定时器初始化函数中会手动置位UG(为了保证装载ARR,PSC的影子寄存器),而主模式下TRGO信号来源一开始默认是UG位(TIMx_CR2寄存器中的MSM位)。 如果先初始化从模式定时器3,定时器3工作在触发模式下,TRGI信号来源为定时器2的TRGO,而定时器2还未初始化,故TRGO信号来源默认是UG位,故在定时器2初始化过程中会置位UG位,从而触发定时器3的从模式触发模式,导致定时器3开始计数,而在本例中,定时器2和定时器3应该在定时器2的输入捕获通道1的上升沿出现的时候才开始计数,故需要先初始化定时器2
2022-12-06 12:52:08 16.56MB stm32 源码软件 arm 嵌入式硬件
1
采用STM32F103C8T6单片机,KeilMDK5.32版本 配置一个外部EXIT1线为事件模式来唤醒STM32,WFE指令进入睡眠状态,选择SLEEP-NOW微控制器立即进入睡眠模式。 PC13控制LED灯,LED的亮灭用来指示程序是否在运行 注意:未开启外部中断(NVIC寄存器中为使能外部中断)
2022-11-30 15:32:12 16.54MB stm32 文档资料 arm 嵌入式硬件
1
采用STM32F103C8T6单片机,KeilMDK5.32版本 定时器时钟源为外部时钟2,由ETP(PA0)提供,在ETP的上升沿计数 当发生更新事件触发中断后,串口发送数据(Updata)到上位机
2022-11-24 19:40:41 16.56MB stm32 arm 嵌入式硬件 单片机
1
采用STM32F103C8T6单片机,KeilMDK5.32版本 串口异步通信,开启收发方向,DMA式收发数据(仿printf发送)。 收发的DMA不在循环模式下(单次)。 PC13控制LED灯,LED灯的亮灭指示接收到数据。 在STM32CubeMX中需要同时开启DMA与串口全局中断
2022-11-16 19:58:09 16.56MB stm32 文档资料 arm 嵌入式硬件
1
采用STM32F103C8T6单片机,KeilMDK5.32版本 串口异步通信,开启收发方向,阻塞式发送(仿printf发送);非阻塞式接收数据。 PC13控制LED灯,LED灯的亮灭指示接收到数据。 程序初始化完成之后,开启接收中断。 在接收完成回调函数中,重新开启接收中断(因为在进入接收回调函数前,所有与接收相关的中断已经关闭)
2022-11-12 14:50:21 16.56MB stm32 综合资源 arm 嵌入式硬件
1
STM32+HAL库+esp8266上传DHT11温湿度上传服务器
2022-09-29 18:02:27 7.1MB stm32 mqtt DHT11
1
使用stm32cube配置SPI,读取TM7705AD数据
2022-09-28 19:12:00 572KB stm32 hal库 STM32cube
1
采用STM32F103C8T6单片机,KeilMDK5.32版本 ADC1开启3个规则通道,转换序列为:通道0(PA0),通道1(PA1),通道2(PA2) 在规则通道每个通道转换完成之后,DMA负责将转换的数据从ADC_DR寄存器传输到用户指定的目的地址 开启3个注入通道,转换序列为:通道0(PA0),通道1(PA1),通道2(PA2) 注入通道触发选择为自动注入(当规则通道的所有通道转换完成之后开始转换注入通道) 开启注入转化完成中断。 注入转换完成之后在注入通道转换完回调函数中串口输出转换的数据
2022-09-24 16:08:51 16.57MB stm32 源码软件 arm 嵌入式硬件
1
使用CubeMX配置生成,底层采用HAL库,可以使用易于上手
2022-09-07 14:01:53 5.82MB stm32 HAL库 CubeMX 定时器
1
采用STM32F103C8T6单片机,KeilMDK5.32版本 串口异步通信,开启收发方向,DMA式收发数据(仿printf发送)。 发的DMA不在循环模式下(单次);接收的DMA在单次模式下。开启串口接收空闲中断 PC13控制LED灯,LED灯的亮灭指示接收到数据。 **在STM32CubeMX中需要同时开启DMA与串口全局中断**
2022-08-29 14:46:25 16.56MB stm32 文档资料 arm 嵌入式硬件
1