现在我在做SCI通信方面的程序,DSP通过SCI中断发送数据,需要有数据返回,来确定发送的数据成不成功,当没有数据返回时,就重新发送,一共发送3次都没有返回数据,则认为错误。我的问题是,如何来开始第二次发送?也就是两次发送之间需要等待多长时间才合适?怎么确定当前的总线上没有接收数据?
因为我做的程序,如果仅发送一次,经过时间等待,能够接收到数据,但是,如果启动重发,就会接受不到(即使我将等待时间设置的足够长)。我感觉是因为本来总线上是有接受数据的,但是由于重发,将总线改为发送了,所以数据就接受不过来了,所以我想请教一下,关于我问的这几个问题。
先谢谢啦!
我这个是SCI与modbus 的结合 |