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,0x00000000地址的内容引发hardfault
STM32 双ADC同步注入转换模式,模块ADC2没有数据。
cubeIDE在运行时显示Failed to execute MI command是什么问题呢?
H7S-DK使能RTC之后,TOUCHGFX无法正常显示?
IDE最新版1.17.0生成代码强制转utf8,导致中文乱码
使用HAL_UARTEx_RxEventCallback实现的uart数据接收不会被清理,一直累加
STM32U5 偶尔出现无法进入shutdown模式
STM32H750 FDCAN发送异常
STM32H745 的 FreeRTOS 是单核工作,还是双核工作(新手题)
STM32H7A3VGT6 FLASH写不进去,用cubeprogrammer烧写程序也烧不进去
问题找到了,完全卸载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),改成下面的函数应该就可以了