
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); } |
STM32CubeIDE 2.0 有啥新变化?
为什么STM32G431的串口用不了2.5M的波特率
STM32L设置CAN一直卡在HAL_CAN_START(),上拉两个引脚依然卡在这里
STM32H750VBT6挂接外部NAND Flash
STM32H7 openamp
CubeIDE生成MP257的M33工程出现RCC配置问题(Bug?)
2.0 CubeIDE大概更新时间?
如何利用TIM1触发HRTIM TIMA生成频率为20Hz的100ns脉冲波?
STM32双核H7核间通信的方法
stm32上部署yolo的问题
问题找到了,完全卸载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),改成下面的函数应该就可以了