一、基于寄存器与基于固件库编写的差异
固件库编写方式,特点是简单易于理解,资料多。新手适合用这种方式入门。
寄存器的可移植性强,更贴近底层,要求对外设的工作原理和运行机理有更深的理解。
二、stm32串口通信实战
1.烧录方式

然后用usb线把stm32开发板和电脑相连接,stm32端连接的 ‘usb转串口’这个接口,再打开stm32开关,可以看到红色的小灯亮起。

连接过后打开CH341SER.EXE,点击安装,显示安装成功即可。


按如下方式配置:①搜索串口,设置波特率 115200(尽量不要设置的太高) ,②选择要下载的 HEX 文件、③校验、编程后执行、④DTR 低电平复位,RTS 高电平进入 bootloader、⑤开始编程。(前4步一定要调试正确,否则可能连接不上)

2.代码及效果图
该处串口通信实现以下功能:
1)设置波特率为115200,1位停止位,无校验位。
2)STM32系统给上位机(win10)连续发送“hello windows!”,
3)当上位机给stm32发送“Stop stm32!”后,stm32停止发送。
此处的代码在野火的代码模板上改动。
先在百度云链接中下载模板

解压后打开第21个串口通信文件中的USART1接发中的工程文件

然后把其中stm32f10x_it.c文件的串口中断服务函数部分改为如下:
int i=0;
uint8_t ucTemp[50];
void DEBUG_USART_IRQHandler(void)
{
if(USART_GetITStatus(DEBUG_USARTx,USART_IT_RXNE)!=

本文对比了基于寄存器和固件库编写的STM32串口通信差异,并详细介绍了STM32串口通信实战过程,包括烧录步骤、代码修改和串口配置。同时,文章还探讨了C语言中的全局变量、局部变量、堆和栈等基本概念。
最低0.47元/天 解锁文章
1269

被折叠的 条评论
为什么被折叠?



