|
【学习必备】每天学习STM32小技巧-6
今天继续为大家带来10个学习小技巧: 4 e& {" ?; e/ [ 技巧51:ARM公司只生产内核标准,不生产芯片。ST公司使用ARM内核,然后外加自己的总线结构、外设、存储器、始终和复位、I/O后就组成了自己的芯片。
7 Y {1 E5 c+ |$ z; L) r " Y) C& b) Z: m 技巧53:端口复用和端口重映射是两个概念:前者在使能其对应的端口和对应的功能时钟即可。后者需要打开AFIO时钟,然后进行端口的重映射GPIO_PinRemapConfig()$ _/ F: D7 H2 P% v" z) W 1 s; f, |4 G. }: N# [ 技巧54:下载程序只能使用串口1,在硬件设计时一定要注意!- W" l; Y, v& V$ K* F8 s 技巧55:J-TAG调试频率一般设定为2MHz,而SWD调试频率可以设定为10MHz : r8 p5 D( Y4 H6 X) {( [; c" [ , Q% d3 z- ~/ F: i; L 技巧56:SysTick的中断实现可以有两种方式:循环等待和中断法。推荐用循环等待,中断法可能会出问题而且占用资源。 " R$ w+ Z6 A; m/ M8 A1 Z- D 技巧57:部分I/O引脚是5V兼容的。单个I/O的最大驱动电流和灌入电流均为25mA。整个芯片的电流为150mA B" x; j* u* L! [ # k% |; U0 B* L4 Z0 n 技巧58:KEIL支持位段操作,可以利用C语言中的位段知识定义位段结构体,然后对单独的寄存器进行单独的位操作。 ' J- F% \; m3 v 技巧59:关于内部上下拉电阻的设置:如果外部的按键另一头接地,那么需要设置成上拉电阻。(理由是当没有按下按键时,由于上拉,输入为高电平;按下时,由于外部接地,输入为低电平。)同理,如果外部的按键另一头接高电平,那么需要设置成下拉电阻。5 Q7 m5 Q( ^& z% l + z2 J3 }& _; a6 | 1 [; x! q9 k& ^! h( k; w! V: Q 技巧60:串口中断TXE和TC的区别:其实很明显,一个是发送寄存器空标志,一个是发送完成标志。因为串口在发送的时候首先需要把发送寄存器中的数据移位到移位寄存器(影子寄存器)后再串行发送出去。所以当发送寄存器DR空时说明现在可能正在往外面发送数据,数据可能还没有发送完。但是发送完成不一样,他是在移位寄存器将本次数据全部移位完成后设置的标志位(也就是发送完了停止位)。这么看来:TXE允许程序有更充裕的时间填写TDR寄存器,保证发送的数据流不间断。TC可以让程序知道发送结束的确切时间,有利于程序控制外部数据流的时序。+ X3 ^$ N0 e- @( | 3 T9 |% S; V( L9 n7 ?) d ) S1 n, k2 l/ F3 V$ c ![]() 往期回顾: 论坛还未大家准备诸多STM32系列开发经验:7 l* `, `0 S+ M4 { # N( O1 X1 E. HE; g$ D, k: X3 O k' @9 A% f2 e8 P - {4 A0 d) x6 g4 N$ H1 x - U3 x* E9 H1 k, Z6 R+ [6 j 8 }* J' E8 h R8 H |
经验分享 | 基于STM32G4芯片TIM+SPI+DMA应用示例
【新品测评】STM32WL3R芯片测评,从点亮第一个LED到subGhz启动
【 逢7发帖赢大礼】1、利用CubeMX生成正点原子H7R7开发板的STM32CubeIDE工程
【STM32H735G-DK测评】ADC3+TIMER1+DMA 采样模拟信号
【STM32H735DK测评】Ethernet+lwip DHCP获取IP地址
STM32H743基于CubeMx5.0配置手册
《STM32CubeMX2 实战课程》学习笔记+安装
实战经验 | AFCI上位机用户手册
STM32WLE55 无线收发功能调试记录
【STM32H735G-DK测评】lvgl移植
微信公众号
手机版