【学习必备】每天学习STM32小技巧-6 今天继续为大家带来10个学习小技巧: ; x- R9 s& S( v' o7 H 技巧51:ARM公司只生产内核标准,不生产芯片。ST公司使用ARM内核,然后外加自己的总线结构、外设、存储器、始终和复位、I/O后就组成了自己的芯片。R# n5 a6 D) q4 A! e" u4 F $ w+ |( _5 `8 J0 x% b 技巧53:端口复用和端口重映射是两个概念:前者在使能其对应的端口和对应的功能时钟即可。后者需要打开AFIO时钟,然后进行端口的重映射GPIO_PinRemapConfig() 2 _ `) y; _/ @& b- b% r : ~0 q2 g% {/ ]0 g 技巧54:下载程序只能使用串口1,在硬件设计时一定要注意!$ |- I2 E" U b$ X ; D/ K& R s+ V; Z* P) Z2 K ; y6 k" S2 T/ [& \" Y& V, v 技巧55:J-TAG调试频率一般设定为2MHz,而SWD调试频率可以设定为10MHz : g! G$ e$ [% U& } 0 t# Q; m9 P9 z8 Y 技巧56:SysTick的中断实现可以有两种方式:循环等待和中断法。推荐用循环等待,中断法可能会出问题而且占用资源。 技巧57:部分I/O引脚是5V兼容的。单个I/O的最大驱动电流和灌入电流均为25mA。整个芯片的电流为150mA " r( v+ _8 V$ z9 j e 技巧58:KEIL支持位段操作,可以利用C语言中的位段知识定义位段结构体,然后对单独的寄存器进行单独的位操作。0 r+ ~$ O8 R3 t1 ` # X6 v7 d9 ]' w) C* y; ^# u" _ 0 Q, |8 ]7 _7 ?2 }% |; L( @: m 技巧59:关于内部上下拉电阻的设置:如果外部的按键另一头接地,那么需要设置成上拉电阻。(理由是当没有按下按键时,由于上拉,输入为高电平;按下时,由于外部接地,输入为低电平。)同理,如果外部的按键另一头接高电平,那么需要设置成下拉电阻。 & n0 }2 L) [3 C, i0 \3 d i2 K 技巧60:串口中断TXE和TC的区别:其实很明显,一个是发送寄存器空标志,一个是发送完成标志。因为串口在发送的时候首先需要把发送寄存器中的数据移位到移位寄存器(影子寄存器)后再串行发送出去。所以当发送寄存器DR空时说明现在可能正在往外面发送数据,数据可能还没有发送完。但是发送完成不一样,他是在移位寄存器将本次数据全部移位完成后设置的标志位(也就是发送完了停止位)。这么看来:TXE允许程序有更充裕的时间填写TDR寄存器,保证发送的数据流不间断。TC可以让程序知道发送结束的确切时间,有利于程序控制外部数据流的时序。 5 h P/ a2 U. H$ X' w" M u $ I+ m6 h/ |6 L \) {& X: Z 往期回顾: 论坛还未大家准备诸多STM32系列开发经验:# ~2 N; D( Z$ @ r8 ` & C) E. Q8 M* J0 Y+ X7 ]+ x5 x! O; p + X1 H! G, Q! r# ~ M R 2 z+ n2 ]0 k1 L& N+ g2 f1 w $ U# |7 }& n/ \' w% Y! o 9 k# n3 Q+ {3 g* E |
【我在论坛打嵌赛】01-嵌赛是个什么东东
【经验分享】STM32_H7_ADC
STM32H7R/S高性能MCU:安全性,大存储和优异图显赋能更多应用创新
STM32固件库分享,超全系列整理
三创电子(Tcreate)-STM32F030核心板代码
Stm32H7XX GCC下分散加载实现
STM32F0 ADC(DMA中断)多通道,注释超详细
FreeRTOS在STM32F030上的移植
【银杏科技ARM+FPGA双核心应用】STM32H7系列10——ADC
DIY-STM32H750核心板