我对Atmega162双串口中断的理解,欢迎大家发表不同意见.
AVR不太建议使用中断嵌套,我很担心两个串口同时使用中断,是否会丢失数据,但根据计算却发现是不会的.假设:仅限使用两个接收中断,波特率9600,中断响应程序内只做接收,不做分析计算(避免中断程序执行时间太长), 主频为7.37828M.
波特率9600,接收一个字符的时间就是1/9600秒,约为100微秒,对于主频7.37828M来说,100微秒处理器已经检测了两个接收中断各737次了,因中断程序不长,AVR很多又时单周期的指令,即使两个中断同时发生,处理器也有非常足够的时间去响应.
本人之拙见,欢迎大家发表不同意见! 波特率9600,接收一个字符的时间就是1/9600秒。。。。。。。。。。。。
好像不是这么算的吧,9600可不是字节数,而是bit数。 9600可以简单的理解成时钟频率,一般默认一个字节=1个开始位+8个数据位+1个停止位=10位
所以发送一个字节=1/960妙,大概1ms 感谢两位,我10多年了,一直当字节在理解,昨天查了资料,9600 Bps(bit per secnond) Popo, 是9600 bps(bit per secnond)而不是你的...(上面) 那两个串口都用接收中断到底行不行呢?如果按照楼主您所说的接收一个字符是1ms的话,处理器检测两个接收中断各7370次了,是不是?
页:
[1]