发表于:2011/2/21 23:17:40
#0楼
我在DSP2407的一个完好的工程中将485通讯程序作了大幅度整改,整改后在线调试时通讯正常,但DOWN完程序后拔掉仿真器运行,按键显示等仍然正常,但我用串口调试却收不到任何数据,在线仿真时用看门狗复位后也通讯不上(旧的通讯程序是正常的),在线跟踪发现无法进接收中断(别的中断是正常的),未产生接收中断请求,接收缓冲区中也没有收到任何数据,我用示波器观测75176的接收发送使能引脚/RE/DE一直为低电平,RO数据输出正常,那为什么还收不到数据呢?SCI模块跟硬件相关的初始化程序和旧有程序是一样的,我对比了一下我新改的程序和通讯正常的旧程序在线仿真时SCI寄存器的值,发现有一个只读状态位不一样,2407的SCI模块有个只读标志位(SCIRXST的BIT1)标识RO线是否空闲,当我仿真停下来时,旧有的程序是“空闲”,而我新改的程序是“非空闲”。不知这到底是哪里的问题?请大家不吝赐教,先谢谢各位了。