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

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个回答
贱独呱 最优答案 回答时间:5 天前

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

xmshao 回答时间:6 天前
注意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 回答时间:5 天前

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

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

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版