初版BL程序一些细节整理(碎碎念)

一.串口的中断触发

一般我们都是使用TXE或者RXNE来触发中断,其实还有完整传输结束的TC标志位和接收完成的IDLE标志位

这两个标志位有些不同,RXNE标志位只需要读取寄存器就会自行清除,但是这两个需要读取两个,拿IDLE举例子

这里需要这么写,才能清理标志位

二.关于DMA提前人为中断

如果手动disable了DMA,那么TCIF标志位会立马挂起

但是如果不清除该标志位,DMA就无法启动

所以我们再配置好DMA后,启动前,要清理标志位,1,2两种清理方式,任意一种都行

相关推荐
MickyCode1 小时前
嵌入式开发调试之Traceback
arm开发·stm32·单片机·mcu
czwxkn2 小时前
3STM32(stdl)外部中断
stm32·单片机·嵌入式硬件
羽获飞2 小时前
从零开始学嵌入式之STM32——6.与GPIO相关的7个寄存器--重要知识
stm32·单片机·嵌入式硬件
棒子陈3 小时前
使用cursor移植单片机的串口驱动(DMA+队列式串口驱动,APM32F103移植到PY32F071)
单片机·嵌入式硬件·cursor·py32f071
VALENIAN瓦伦尼安教学设备3 小时前
镭射对心仪在联轴器找正作用
大数据·数据库·人工智能·嵌入式硬件
蓬荜生灰3 小时前
STM32(11)-- GPIO输出,库函数点灯
stm32·单片机·嵌入式硬件
济6174 小时前
ARM Linux 驱动开发篇----字符设备驱动开发(1)--字符设备驱动简介---- Ubuntu20.04
linux·嵌入式硬件
csg11075 小时前
PIC单片机驱动BH1750光照传感器,轻松获取环境光照数据
单片机·嵌入式硬件·物联网
雾削木5 小时前
使用 ESPHome 的核心指令
java·前端·javascript·单片机·嵌入式硬件
DLGXY6 小时前
STM32——输入捕获、编码器接口(十一)
stm32·单片机·嵌入式硬件