求助:28234的rs485功能程序问题

2019-08-05 15:03发布

问题主要有两个:
1、串口程序主要是按TI官方例程里面scia_loopback程序改写的,基本没有大的改动,只是改动了GPIO的输出端口设置,另外485芯片中多出一个DE的控制引脚,所以多出一个控制端口。程序使用串口调试助手和usb-485的串口线进行调试,但是从上位机发送数据却发现无法接收,程序一直停在while(SciaRegs.SCIFFRX.bit.RXFFST==0);{} 这个语句上,就是接收一直为空,所以跳不出循环。请各位前辈指导问题可能出在哪里?
2、程序下载后经常出现无法进入主函数的情况,要不然就是跑飞没反应,不知道运行到哪里了,要不然就是进入ILLEAL_ISR中断或者defaultIsr的中断,当然led灯简单的程序不太出现这种情况,所以也想请教一下这个问题的原因是什么,可以解决否?

多谢!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
wenjun_wang86
1楼-- · 2019-08-05 18:12
第一个问题:建议先用示波器看看接收端是否有上位机发送的信号,确认有了,再看SCI模块的配置,一个个对照。
第二个问题:禁止掉看门狗,程序中的定义的数组,一定要控制在数组定义的范围内,如果超出范围,容易出现你说的ILLEAL_ISR中断里面。例如你定义了数组 int a[10] = {0,0,....};然后访问的时候,你用带下角标的方式访问a[i],而这个i数值超过了9,这个时候程序就会出问题!
zhangmangui
2楼-- · 2019-08-05 20:32
 精彩回答 2  元偷偷看……
初晓2013
3楼-- · 2019-08-05 23:16
zhangmangui 发表于 2013-11-13 23:13
不管调试UART还是转的485  你可以先将RX和TX短接  自发自收测试
这个通过了就可以做别的了  
程序跑飞等可 ...

抱歉,您说的这个短接这个好像不是很明白,是要电路连线实现短接吗?那短接之后它是怎样自收自发的?
版主好勤劳~好勤劳~
初晓2013
4楼-- · 2019-08-06 02:10
wenjun_wang86 发表于 2013-11-13 17:32
第一个问题:建议先用示波器看看接收端是否有上位机发送的信号,确认有了,再看SCI模块的配置,一个个对照 ...

抱歉,目前手边没有示波器,还有没有其他方法?
wenjun_wang86
5楼-- · 2019-08-06 06:35
初晓2013 发表于 2013-11-14 09:50
抱歉,目前手边没有示波器,还有没有其他方法?

万用表有吧?量量看有没有波动的电压,有的话就说明有数据,电压非常稳定就说明没有数据。
wangdezhi
6楼-- · 2019-08-06 11:52
回环自测是不需要外接的。

一周热门 更多>