大家好,最近遇到一个问题,还望高手给予解惑。我用M0516为cpu做了一个主站,用来给一个成型的从站发送命令,485介质通信,用一个io口连接485芯片的RE和DE端来控制发送和接受的切换,开始设置为发送状态,发送一串报文给从站,经过监测,发送的报文没有问题,然后由io口切换成接收状态,按理说从站会反馈一串报文回来,但是主站却收不到任何报文,也没能监测到从站发回的报文。从站没有问题,主站发出的报文也没有问题,因为我用模拟上位机对从站发出相同的报文,从站是有回应的,至于为什么这里主站收不到,我就怀疑是从站回应的太快,导致我还没来得及将485从发送状态切换成接收状态,自然也就收不到从站的回应,而监测不到从站发出的回应大概是因为这时主站的485还处于发送状态。于是我想到可能是发送和接受切换的不够快,于是我就加大主站主频,已经加到48Mhz了,按理说,软件上控制io口切换发送和接受应该是不耽误时间的,我也是发完立马切换成接受,可是依然不行,不知道为什么,还希望知道的大侠能帮忙解惑,多谢了。 |