stm32串口通信
功能实现:
1)设置波特率为115200,1位停止位,无校验位。
2)STM32系统给上位机(win10)连续发送“hello windows!”,上位机接收程序可以使用“串口调试助手“,也可自己编程。
3)当上位机给stm32发送“Stop,stm32”后,stm32停止发送。
1.基于寄存器与基于固件库编写的差异
固件库就是函数的集合,固件库编写方式,特点是简单易于理解,资料多。新手适合用这种方式入门。
固件库函数的作用就是:向下负责与寄存器直接打交道,向上提供用户函数调用的接口(API)。
对于STM32这种级别的MCU,数百个寄存器记起来何谈容易,于是推出了官方固件库,固件库将这些寄存器底层操作都封装起来,提供一套API供开发者使用。
大多数情况下,你不需要知道操作的是哪个寄存器,你只需要知道调用哪些函数即可。
寄存器的可移植性强,更贴近底层,要求对外设的工作原理和运行机理有更深的理解。
2.stm32串口通信实际操作
(1)程序编写
本次基于野火学堂提供的代码进行修改
该代码功能实现串口中断接收回显示
中断函数代码为:
// 串口中断服务函数
int i=0;
uint8_t ucTemp[50];
void DEBUG_USART_IRQHandler(void)
{
if(USART_GetITStatus