你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32CubeIDE STM32H743XIH6,串口无法重定向,且发送内容波特率不对乱码

[复制链接]
贱独呱 提问时间:2024-12-12 11:11 / 已解决

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); }

收藏 评论3 发布时间:2024-12-12 11:11

举报

3个回答
贱独呱 最优答案 回答时间:2024-12-13 14:30:13

问题找到了,完全卸载IDE后重装,解决问题

xmshao 回答时间:2024-12-12 14:02:01
注意UART两端的参数一致,尤其是波特率参数;


保证硬件方面没问题。


在程序里添加部分代码,这些都是标准的:


#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;
}
rrr.png

printf("** Test finished successfully. ** \n\r");
李康1202 回答时间:2024-12-13 11:37:59

keil重定向接口函数是fputc(int ch, FILE *f)没错,但是IDE使用的接口函数是

__io_putchar(int ch),改成下面的函数应该就可以了

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版