-
朋友,你是对的。因为硬件上485芯片RE脚和DE脚接在一起了,我以为就不会自发自收了,所以发完切换为收时,我没有去清接收FIFO,而用示波器监测时发现虽然没有接从机就应该没有接收的,但接收引脚却测到有一个负脉冲,原来是DE和RE接一起、切换为收时拉低DE引出来的。但其实还是解释不通的,因为这个时候只是打开接收三态门,总线上应该是没有信号的,我发的并不会锁存在总线上。。但不管如何,我就想到要去清除接收FIFO了,然后不接通信也不会触发进入到接收超时中断了。。
-
相当的痛苦,为什么它没有接收也触发接收超时中断呢,这样叫我好为难!!如何是好?
-
朋友在么?遇到一个问题,帮帮忙么?
我使用UART时,设置了FIFO接收中断深度,同时使能接收超时中断。
请问,这个接收超时中断是什么情况下触发的?手册上有这样一句话,“当接收FIFO不为空时接收超时中断有效”。
我做了一块modbus主机板,没接从机的时候,也就没有接收,这个时候没有接收超时中断;这跟那句话是对得上的,也是合理的。
后来,调试好了,准备提交测试了,程序烧到另一块板上,诡异的事情出现了,没接从机,那个芯片却一直进入接收超时中断。。
因为接收中断RX和接收超时中断RT都是进入到接收处理函数里的,在接收处理函数里,我会清零通信超时计数器的;如果没有接从机也就是没有通信的时候,处理器一直有触发接收超时中断,在接收处理函数里,通信超时计数器一直清零,那通信超时就无法判断到了。
朋友,有木有遇到过这么纠结的情况,如何解决呢?
-
嗯,最近忙,都没过来。已经实现了,接收完毕或者接收超时就转为发送。谢谢,是我想的太严重了,做起来才发现没那么复杂。
-
受教了,真的受益匪浅。看来自己真的太过粗糙了,只求结果,没有追求效率没有更多思考~~悔过悔过!谢谢楼上各位的讨论与交流。当然更感谢楼主,本身有观点,同时引出一帮友们的热情。
-
嗯,我的疑问是,主机主动发,在发完一组数据后,切换485为收;那什么时候再切换回来发呢,以怎样的频率发?
在我收完之后,切方向为发;或者接收超时时就转为发;而不是以一个固定频率发。
-
收了,谢谢~~
-
:victory: 谢谢~~
-
:carnation: 撒花~交流下,俺也正在做这个~
-
:loveliness:
-
很不客气地收了,灰常感谢~~
-
收了,谢谢~~
-
留着,待看
谢谢!!
-
虽然不懂,还是顶一下,辛苦了~
-
:victory: 3Q~
-
谢谢匠人!!
-
朋友辛苦了~~
学习了,谢谢!!!
-
下了,谢谢分享~~
-
我刚买了一块EK-LM3S8962,刚巧现在有LM3S9B96优惠呢,我查了下,LM3S9B96多了好几个性能,特别是USB OTG功能,好诱惑我啊~~
但是我要不要买呢,有点犹豫啊,毕竟刚出了几百大洋~~
-
受教了~