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