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

NUCLEO - H563ZI 如何打开串口

[复制链接]
dvacos 提问时间:2023-7-31 13:54 / 未解决

我按照规格书配置了usart 3 作为串口,并且电脑可以是被到串口,但是我始终接收不到数据。

并且我还直接接到了串口输出脚PD8 PD9(排除外部连接错误导致的),任然没有数据。

1、确认引脚

image.png

文档明确写明了,ST_Link默认接USART 3的,并且配置好了。

但是我核对了一一下

image.png

image.png

如图,按照文档上的配置 SB24 SB18都要断开才可以啊,那为什么又说默认接好了

2、软件配置

cubemx配置USART 3

image.png

在usart.c中添加下面的代码。

#ifdef __GNUC__
  /* With GCC/RAISONANCE, small printf (option LD Linker->Libraries->Small printf
     set to 'Yes') calls __io_putchar() */
  #define PUTCHAR_PROTOTYPE int __io_putchar(int ch)
#else
  #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
#endif /* __GNUC__ */
/**
  * @brief  Retargets the C library printf function to the USART.
  * @param  None
  * @retval None
  */
PUTCHAR_PROTOTYPE
{
  /* Place your implementation of fputc here */
  /* e.g. write a character to the EVAL_COM1 and Loop until the end of transmission */
  HAL_UART_Transmit(&huart3, (uint8_t *)&ch, 1, 0xFFFF);

  return ch;
}

keil 5 配置

image.png

然后我在MAIN.C 的 while不断的打LOG,什么都看不见。

为了避免是外部硬件配置问题,我直接用串口街道PD8 PD9上面 ,还是没有LOG

image.png
收藏 评论7 发布时间:2023-7-31 13:54

举报

7个回答
废鱼 回答时间:2023-7-31 14:24:07

从图上看没有看出问题。用示波器或者逻辑分析仪看一下串口波形。另外检查一下晶振,我用的7A3是没有外部晶振的,用的内部晶振,仿真是否进入到串口数据发送函数。

STLNK接口会虚拟一个串口出来,用这个串口监听数据。

dvacos 回答时间:2023-7-31 14:29:36

废鱼 发表于 2023-7-31 14:24
从图上看没有看出问题。用示波器或者逻辑分析仪看一下串口波形。另外检查一下晶振,我用的7A3是没有外 ...

[md]用的是官方的开发板,我点的灯都在正常的闪烁,不太可能是没跑起来。

虚拟串口可以正常识别。

就是一直没有数据,搞不懂。。。

现在试一试仿真

dvacos 回答时间:2023-7-31 15:47:11

我把串口配置到USART 2后,按照一样的套路就可以打印了。。懵逼

还有CubeMX每次都要重置一下我添加的其他文件,即删除keil 5 除ST的文件树内的其他文件,本地还在。

恶心啊

废鱼 回答时间:2023-7-31 16:23:40

dvacos 发表于 2023-7-31 15:47
我把串口配置到USART 2后,按照一样的套路就可以打印了。。懵逼</p>
<p>还有CubeMX每次都要重置一下我添加的 ...

[md]我很少用,我一般都是自己建工程,自己移植需要的驱动。MX一般是测试部分功能的时候用一下。

xmshao 回答时间:2023-8-1 10:25:54
我找了块跟你一样的开发板做了验证测试。


可以  确定 UART3默认就是跟VCP口连在一起的,也不用做跳线调整。
具体的GPIO就是PD8 PD9.  


调用HAL_UART_Transmit(&huart3, (uint8_t *)tx_buffer,  size,0xfff);
可以在串口终端显示字符。  




需要的话,晚点我贴图上来。你再找找原因。
xmshao 回答时间:2023-8-1 10:35:48
[md]我找了一样开发板,使用UART3-PD8/PD9,可以在串口中端看到字符。

【本想贴图进来,实在发不上来
dvacos 回答时间:2023-8-1 16:49:47

xmshao 发表于 2023-8-1 10:35
我找了一样开发板,使用UART3-PD8/PD9,可以在串口中端看到字符。</p>
<p>【本想贴图进来,实在发不上来 ...

[md]有动过SBXX的跳线吗?我一直不行,动了SBXX,断开SB18 SB23 还是USART 3就是不行

所属标签

相似问题

官网相关资源

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