| 作者 | 主题 |
|---|---|
|
tongzhi 游士 经验值:171 发帖数:116 精华帖:0 |
楼主
主题:自由口字符中断的问题?
我要使用226的两个通讯口分别与上位计算机和一个单片机通讯,并且采用字符中断的模式,我想知道如果PORT0接收到了一个字符我在中断中读它的时候会不会被PORT1的字符冲掉?
|
|
winter938 至圣 经验值:11152 发帖数:1550 精华帖:33 |
楼
主题:回复:自由口字符中断的问题?
从硬件接收到一个字符到中断执行如果还有象楼上说的那样一个过程,同时中断出现的机会应该极小,就算同时出现了,记住:PORT0的优先级别比PORT1高.系统是会先执行事件8的中断程序,然后再执行事件25的中断程序,所以事件8的中断程序要足够短以保证不但不影响PORT0的下一字符接收,还要使得PORT1产生的25号中断能在其接收下一字符前得以执行完成.
事件25的中断也必须足够短,虽然不象上面所述有同时产生中断的矛盾,但假如事件25仅比8早一点点产生,而其中断程序太长的话,特别是PORT0的通讯速度快的时候,PORT0就有可能丢失数据. 综上所述,在两个口均有通讯时且采用字符中断接收方式,事件8和25的中断程序执行时间之和应该小于通讯速度最快的那个口接收一个字符的时间. 以上仅是个人猜想,欢迎批评指正!
工控爱好者
|