【学习必备】每天学习STM32小技巧-6 今天继续为大家带来10个学习小技巧: " t! H0 o/ y& ]" { 技巧53:端口复用和端口重映射是两个概念:前者在使能其对应的端口和对应的功能时钟即可。后者需要打开AFIO时钟,然后进行端口的重映射GPIO_PinRemapConfig() 2 t1 u: k! v a( R 技巧54:下载程序只能使用串口1,在硬件设计时一定要注意!6 [$ U8 P8 M5 v, z! C% ^- q 技巧55:J-TAG调试频率一般设定为2MHz,而SWD调试频率可以设定为10MHz5 A: z E8 X$ z: S1 `" l& \6 d) T % ?2 w/ ^% T1 y8 Z% W* X. x 技巧56:SysTick的中断实现可以有两种方式:循环等待和中断法。推荐用循环等待,中断法可能会出问题而且占用资源。* \9 h/ F0 Z/ r8 R& N 技巧57:部分I/O引脚是5V兼容的。单个I/O的最大驱动电流和灌入电流均为25mA。整个芯片的电流为150mA ! }" {, w$ y9 p5 W! M2 ~ 技巧58:KEIL支持位段操作,可以利用C语言中的位段知识定义位段结构体,然后对单独的寄存器进行单独的位操作。" i1 |7 @ q1 G8 s2 Z k3 w$ {& b& S# V$ l& d 技巧59:关于内部上下拉电阻的设置:如果外部的按键另一头接地,那么需要设置成上拉电阻。(理由是当没有按下按键时,由于上拉,输入为高电平;按下时,由于外部接地,输入为低电平。)同理,如果外部的按键另一头接高电平,那么需要设置成下拉电阻。9 Z: P1 z8 L, k o- [* t2 L: \9 H7 j! ` 技巧60:串口中断TXE和TC的区别:其实很明显,一个是发送寄存器空标志,一个是发送完成标志。因为串口在发送的时候首先需要把发送寄存器中的数据移位到移位寄存器(影子寄存器)后再串行发送出去。所以当发送寄存器DR空时说明现在可能正在往外面发送数据,数据可能还没有发送完。但是发送完成不一样,他是在移位寄存器将本次数据全部移位完成后设置的标志位(也就是发送完了停止位)。这么看来:TXE允许程序有更充裕的时间填写TDR寄存器,保证发送的数据流不间断。TC可以让程序知道发送结束的确切时间,有利于程序控制外部数据流的时序。 $ v8 n+ d) t$ s: A! ? " s2 ?, m" o9 z+ p; d" g$ Q# ~5 [ 往期回顾: 论坛还未大家准备诸多STM32系列开发经验:9 y: [9 h q) a( a9 I8 I 6 `8 F8 b+ `9 O. R ; D) j h9 w0 m( i2 V# V6 O( U O |
NUCLEO-H723ZG开发板试用 ——串口点灯测试
STM32F0F1F4内部flash擦写时间和寿命
游名:STM32F030+FT1610FF1高精度超声波测距模块测距教程及参...
【新品发布】超低功耗复合调制无线STM32WL3x微控制器
兔哥的杂谈【002】——如何性价比更高地去编译STM32
【Wio Lite AI视觉开发套件】+简单刷个屏
分享STM32F051中文参考手册(重制书签版)
工程师笔记 | STM32H7 RAMECC功能及应用
stm32使用定时器触发dma传输,启动dma没反应的几种情况的解决方法
【Wio Lite AI视觉开发套件】+cube.ai与食物识别