|
STM32CubeIDE重定向无效果,且使用HAL_UART_Transmit(&huart1, (uint8_t *)"0123\r\n", sizeof("0123\r\n"), 100);为乱码。 但是相同的配置,使用STM32CubeMX+keil勾选MicroLIB完全没问题 波特率都是默认的115200,只是把引脚改为了PA9&PA10,但是两者配置内容一模一样 int fputc(int ch, FILE f) { HAL_UART_Transmit(&huart1, (uint8_t )&ch, 1, 100); // 发送单字节数据 return (ch); } |
在stm32cuide中打不开stm32cubemx
关于stm32cubeide下载问题
在Vscode中,如何将touchGFX的图片资源下载到QSPI FLASH中?
使用 HAL 库通过串口以 ASCII 形式发送整型数据
STM32H750+FreeRTOS uart DMA无法使用
串口DMA收发出现ORE错误
TOF传感器无法正确识别物体
stm32H743使用CubeMxAi导入模型文件,需要将测试数据进行识别,不知道如何传入参数
STM32F103C8T6 上电后无法通过串口发出数据的问题?
HAL_UART_Transmit_DMA 异常
微信公众号
手机版
问题找到了,完全卸载IDE后重装,解决问题
保证硬件方面没问题。
在程序里添加部分代码,这些都是标准的:
#ifdef __GNUC__
#define PUTCHAR_PROTOTYPE int __io_putchar(int ch)
#else
#define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
#endif
我这里使用的是UART3.
PUTCHAR_PROTOTYPE
{
HAL_UART_Transmit(&huart3, (uint8_t *)&ch, 1, 0xFFFF);
return ch;
}
printf("** Test finished successfully. ** \n\r");
keil重定向接口函数是fputc(int ch, FILE *f)没错,但是IDE使用的接口函数是
__io_putchar(int ch),改成下面的函数应该就可以了