Popo 发表于 2006-10-26 00:11:06

我对Atmega162双串口中断的理解,欢迎大家发表不同意见.

AVR不太建议使用中断嵌套,我很担心两个串口同时使用中断,是否会丢失数据,但根据计算却发现是不会的.



假设:仅限使用两个接收中断,波特率9600,中断响应程序内只做接收,不做分析计算(避免中断程序执行时间太长), 主频为7.37828M.

          

   波特率9600,接收一个字符的时间就是1/9600秒,约为100微秒,对于主频7.37828M来说,100微秒处理器已经检测了两个接收中断各737次了,因中断程序不长,AVR很多又时单周期的指令,即使两个中断同时发生,处理器也有非常足够的时间去响应.



本人之拙见,欢迎大家发表不同意见!

Ice_Ksharp 发表于 2006-10-26 00:17:59

波特率9600,接收一个字符的时间就是1/9600秒。。。。。。。。。。。。

好像不是这么算的吧,9600可不是字节数,而是bit数。

panxiaoyi 发表于 2006-10-26 01:56:53

9600可以简单的理解成时钟频率,一般默认一个字节=1个开始位+8个数据位+1个停止位=10位

所以发送一个字节=1/960妙,大概1ms

Popo 发表于 2006-10-26 15:34:06

感谢两位,我10多年了,一直当字节在理解,昨天查了资料,9600 Bps(bit per secnond)

jack 发表于 2008-4-24 17:19:22

Popo, 是9600 bps(bit per secnond)而不是你的...(上面)

双飞燕泡茶 发表于 2013-3-4 15:49:30

那两个串口都用接收中断到底行不行呢?如果按照楼主您所说的接收一个字符是1ms的话,处理器检测两个接收中断各7370次了,是不是?
页: [1]
查看完整版本: 我对Atmega162双串口中断的理解,欢迎大家发表不同意见.