完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
STM32 新手,目前在使用STM32F769I-DISCO 板子与NUCLEO-F401RE 板子的UART串口通信,使用的是HAL库的指令,测试结果是接收方一直没办法收到正确的数据, 按照其他论坛里的解决办法,多半是Baudrate没设置对,或者配置的GPIO口没有设置AF,但是自己是用CubeMX设置的UART GPIO引脚,而且全部配置了中断,Baudrate两边设置的也是一样,所以猜想应该不会是这些问题。 之后用示波器测试STM32F769I-DISCO板子上的发送端串口,想看下是不是发送的UART信号波形是不是对的,结果发现发送的波形和自己设置要发送的数据和UART信号波形完全不一致。
|
|
相关推荐
1个回答
|
|
STM32 HAL库UART发送信号波形错误可能由多种原因导致。在您的情况下,已经排除了Baudrate设置错误和GPIO口配置问题。以下是一些可能导致波形错误的原因:
1. 串口初始化配置错误:请检查您的串口初始化配置是否正确。确保您使用了正确的配置参数,如数据位、停止位和奇偶校验位。 2. 时钟配置问题:STM32的时钟配置对UART通信至关重要。请检查您的时钟树设置,确保UART使用的时钟源和时钟频率正确。 3. 中断配置错误:如果您使用了中断来发送数据,请确保中断配置正确。检查中断优先级、中断服务函数等设置。 4. 软件问题:检查您的代码逻辑,确保发送和接收数据的逻辑正确。例如,确保在发送数据之前,UART已经准备好发送,并且在发送数据之后,等待传输完成。 5. 硬件问题:虽然较不常见,但硬件问题也可能导致UART信号波形错误。检查您的开发板,确保UART引脚没有短路或损坏。 6. 示波器设置问题:请确保您的示波器设置正确,如电压范围、时间基准等。错误的示波器设置可能导致波形显示不准确。 为了解决这个问题,您可以尝试以下步骤: 1. 仔细检查您的串口初始化配置,确保所有参数都正确设置。 2. 检查时钟配置,确保UART使用的时钟源和时钟频率正确。 3. 如果使用了中断,检查中断配置是否正确。 4. 检查代码逻辑,确保发送和接收数据的逻辑正确。 5. 如果可能,尝试使用另一块开发板进行测试,以排除硬件问题。 6. 调整示波器设置,确保波形显示准确。 7. 如果问题仍然存在,尝试使用STM32的LL库或HAL库的其他版本,以排除库本身的问题。 通过以上步骤,您应该能够找到导致UART信号波形错误的原因,并采取相应的解决措施。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1858 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1649 浏览 1 评论
1127 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
750 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1710 浏览 2 评论
1961浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
777浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
606浏览 3评论
623浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
586浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-8 05:48 , Processed in 0.605260 second(s), Total 47, Slave 41 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号