完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
背景:
最近在调试一块TMS320F2812的电路板 使用了2812的UARTA及UARTB 因为是电机系统,所以外接PC机的UARTB加了一个串口隔离芯片后连接外部线缆 UARTA在系统内与另外一颗处理器通讯 设备不允许同时使用两个串口,所以加了保护机制 由于缺件,所以UARTB的串口隔离芯片没有焊接,即SCIBTX和SCIBRX没有接任何连接 调试时发现,串口A数据通讯异常。 问题的解决: 用仿真器跟了下代码,发现上电UARTB会受到0x00,即串口B收到了数据,此时再和串口A通讯,就会触发保护机制,造成串口A通讯异常。 查了一下TMS320F2812的datasheet,有如下发现: 2812的串口A有内部上拉; 2812的串口B没有内部上拉。 对于我的电路板,串口B的RX、TX相当于浮空,由于串口线空闲为高电平,起始位为低电平,所以浮空的管脚可能会到导致上电串口B收到0x00或其他数据。 TMS320F28335没有这个问题: 当初看2812的串口区别时只是注意到了可以串口A下载代码,电路上的这个细节没有注意到。 |
|
相关推荐
2 个讨论
|
|
我的代码是这样的: ... UARTA_RX_ISR() [ ... com_rx(); ... ] UARTB_RX_ISR() [ ... com_rx(); ... ] com_rx是处理串口数据的一个函数,这点不太合理,中断有两个,但是处理数据的函数是共用的! 测试时发现,串口A可以正常接收数据,接收的数据也是对的,但是就是触发保护机制。 在进一步将断电设置在com_rx函数中,才发现上电后代码会运行到这个函数设置断点的地方,此时并没有给串口A发数据。 随后查阅2812数据手册找到了原因,并对比了28335数据手册 |
|
|
|
|
|
只有小组成员才能发言,加入小组>>
571 浏览 1 评论
405 浏览 1 评论
605 浏览 2 评论
NA555DR VCC最低电压需要在5V供电,为什么用3.3V供电搭了个单稳态触发器也使用正常?
857 浏览 3 评论
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
694 浏览 1 评论
AT32F407在USART2 DMA发送数据时,接包接到了要发送的数据,程序还是处于等待传输完成的标识判断中,为什么?
160浏览 29评论
1019浏览 23评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
306浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
264浏览 14评论
两个TMP117传感器一个可以正常读取温度值,一个读取的值一直是0,为什么?
117浏览 13评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-23 01:07 , Processed in 0.849327 second(s), Total 44, Slave 38 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号