快捷搜索:  汽车  科技

stm32cubemx定时器的配置(Cubemx下串口的使用注意事项)

stm32cubemx定时器的配置(Cubemx下串口的使用注意事项)int fgetc(int ch)}{HAL_UART_Transmit(&huart1 (uint8_t *)&ch 1 1000);return ch;

采用正点原子的板子,有如下坑,记录如下:

(1)main中应用头文件#include "stdio.h"

(2)采用hal进行fputc和fgetc覆盖,如下

int fputc(int ch FILE *f)

{

HAL_UART_Transmit(&huart1 (uint8_t *)&ch 1 1000);

return ch;

}

int fgetc(int ch)

{

HAL_UART_Receive(&huart1 (uint8_t *)&ch 1 1000);

return ch;

}

(3)坑的地方,正点原子的默认RS232 UART1串口供电和主板芯片的功能有冲突,连接RS232后,下载程序后面,每次要把RS232的先拔掉,然后断电后上电运行,正常运行后在插上RS232的线。

或者是先关闭上位机的串口软件,然后在下载程序,STM32运行起来之后在开启上位机软件。

(4)每次cubemx生成代码后确认启用microlib库

stm32cubemx定时器的配置(Cubemx下串口的使用注意事项)(1)

(5)在串口DMA操作中,除了要启用DMA中断外,还要启动uart的全局中断,这样才能在DMA的normal模式下不断发送数据。

stm32cubemx定时器的配置(Cubemx下串口的使用注意事项)(2)

猜您喜欢: