
【学习必备】每天学习STM32小技巧-6 ![]() 今天继续为大家带来10个学习小技巧: ![]() 技巧53:端口复用和端口重映射是两个概念:前者在使能其对应的端口和对应的功能时钟即可。后者需要打开AFIO时钟,然后进行端口的重映射GPIO_PinRemapConfig() 技巧54:下载程序只能使用串口1,在硬件设计时一定要注意! 技巧55:J-TAG调试频率一般设定为2MHz,而SWD调试频率可以设定为10MHz 技巧56:SysTick的中断实现可以有两种方式:循环等待和中断法。推荐用循环等待,中断法可能会出问题而且占用资源。 技巧57:部分I/O引脚是5V兼容的。单个I/O的最大驱动电流和灌入电流均为25mA。整个芯片的电流为150mA 技巧58:KEIL支持位段操作,可以利用C语言中的位段知识定义位段结构体,然后对单独的寄存器进行单独的位操作。 技巧59:关于内部上下拉电阻的设置:如果外部的按键另一头接地,那么需要设置成上拉电阻。(理由是当没有按下按键时,由于上拉,输入为高电平;按下时,由于外部接地,输入为低电平。)同理,如果外部的按键另一头接高电平,那么需要设置成下拉电阻。 技巧60:串口中断TXE和TC的区别:其实很明显,一个是发送寄存器空标志,一个是发送完成标志。因为串口在发送的时候首先需要把发送寄存器中的数据移位到移位寄存器(影子寄存器)后再串行发送出去。所以当发送寄存器DR空时说明现在可能正在往外面发送数据,数据可能还没有发送完。但是发送完成不一样,他是在移位寄存器将本次数据全部移位完成后设置的标志位(也就是发送完了停止位)。这么看来:TXE允许程序有更充裕的时间填写TDR寄存器,保证发送的数据流不间断。TC可以让程序知道发送结束的确切时间,有利于程序控制外部数据流的时序。 ![]() 往期回顾: 论坛还未大家准备诸多STM32系列开发经验: |
FreeRTOS在STM32F030上的移植
拷打cubemx【003】——找不到的芯片包
《STM32MP2 RIF线上课程》学习笔记+使用CubeMX配置RIF介绍与举例
《STM32MP2 RIF线上课程》学习笔记+RIF非法访问调查与问题解决示例
《STM32MP2 RIF线上课程》学习笔记+RIF默认状态总结
《STM32MP2 RIF线上课程》学习笔记+几个典型的RIF感知IP介绍
STM32MP2 RIF线上课程》学习笔记+Memory地址访问管理之RISAF
STM32F051系列数据手册简介(中文)
【2025·STM32峰会】GUI解决方案实训分享5-调通板载的NRF24L01 SPI接口并使用模块进行无线通信(发送和接收)
《STM32MP2 RIF线上课程》学习笔记+Memory地址访问管理之RISAB