关于HC32F460串口调试遇到的问题记录

本文讲述了在使用华大芯片开发过程中,遇到的USART通讯问题。通过调试发现PB3和PB4默认为JTAG调试口,需先禁用才能用于USART。通过设置FSEL寄存器并重启,成功解决了与主板串口通讯的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

项目场景:

前面说过,公司引进华大的芯片作为公司新产品开发的平台。这里记录下项目开发过程中遇到的一个问题。


问题描述:

在调试完ws2812后,需要调试显示板同主板的通讯功能。两个板子之间是通过USART串口通讯的,关于这usart功能的实现,供应商提供的demo都有,在这之前也调好了一个usart口作为调试串口使用。参考demo改好相应的引脚配置后,却发现怎么也调不通,一开始以为是硬件问题,换了个板子后,问题依然存在,无奈只能慢慢翻看芯片的用户手册。最后在介绍gpio章节中,看到了这么一段话
在这里插入图片描述
我们方案采用PB3和PB4复用为usart,但是从手册中我们可以了解到,这两个口默认被配置为JTAG调试口,因此再将这两个引脚复位为USART前,需要对FSEL寄存器相应位写0无效JTAG/SWD功能。


解决方案:

知道原因后,就很好解决问题了

PORT_DebugPortSetting(1<<2, Disable);
PORT_DebugPortSetting(1<<4, Disable);
/* Initialize USART IO */
PORT_SetFunc(LCD_USART_RX_PORT, LCD_USART_RX_PIN, LCD_USART_RX_FUNC, Disable);
PORT_SetFunc(LCD_USART_TX_PORT, LCD_USART_TX_PIN, LCD_USART_TX_FUNC, Disable);

在引脚复位前写FSEL寄存器无效JTAG/SWD功能,上电重启,USART通信OK.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Top0_0lll

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值