|
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); } |
stm32h7 定时器输出比较模式+dma,生成脉冲异常
STM32H7中FDCAN,数据正确,ID号错误
STM32H7的FDCAN
STM32H747XIH6 CM7正常运行 CM4不能正运行
【经验分享】STM32H7 DMA+UART不定长接收实战:解决缓存溢出与数据错位问题
STM32H725的LSE不起振
STM32H747XI CM7正常运行 CM4不运行
stm32h7s78-dk烧录
STM32Programmer能识别芯片,Keil无法识别
STM32H7进入BOOTLoader模式
微信公众号
手机版
问题找到了,完全卸载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),改成下面的函数应该就可以了