|
前一段时间,我发贴请教大家“2个AVR单片机之间的通信,一个发送一串字符,另一个怎么接受并传到PC? “http://www.ouravr.com/bbs/bbs_content.jsp?bbs_sn=830889&bbs_page_no=1&search_mode=3&search_text=evanl&bbs_id=9999”已经做出来了。非常感谢大家的帮助。不过现在我还有一个新的问题。
有一个感温感光采集器,将其采集的数据发送到我做的AVR单片机ATmega162的PD0(RX0)上。然后再通过ATmega162 PD1(TX0)发送出去。同时也将ATmega162接收到的数据一起发送出去。接收到数据如“T+20.0B0022”,还有2个换行回车字符,一个14个。我现在已经把这些都做出来了,而且发送出的数据也完整正确。
但现在又有了新问题了,如果把感温感光采集器拔掉,ATmega162就会进入一个死循环。
因为当时为了保证从感温感光采集器接收的数据正确,我加了一个检测语句,如果检测到“T”字符就可是接收,检测不到就等待,如果不加这个检测语句的话,有时接收的数据会乱掉的,所以把感温感光采集器拔掉后,ATmega162检测不到"T"就陷在在里死循环了。
我本来用中断的,不过我发现如果用了USART的中断,发送的数据就是乱的。已经搞了很久,一直没有解决出这个问题,请教诸位大侠,应该怎么来解决这个问题,谢谢大家! |
阿莫论坛20周年了!感谢大家的支持与爱护!!
知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)
|