
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); } |
STM32H755使用DMA接收数据不正常
CubeMX 生成的 STM32H7 CMake 工程打开串口 DMA 无法正常发送数据,如何解决?
STM32H7S78-DK 官方TOUCHGFX的DEMO源码在哪里呢?
STM32H723VG实现usb通讯
STM32F429 二级启动程序 (sboot) 开发难点:LD 文件 / 堆栈 / NVIC 及 startup.s 修改疑问
stm32G071RBT6跑TOUCHGFX的时候使用仪表控件,更新数值的时候会卡死,怎么解决
为什么STM32G431的串口用不了2.5M的波特率
touchgfx添加文字不能显示,直接死(HardFault_Handler)
STM32CubeIDE 2.0 有啥新变化?
STM32L设置CAN一直卡在HAL_CAN_START(),上拉两个引脚依然卡在这里
问题找到了,完全卸载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),改成下面的函数应该就可以了