发布于 2006-06-02 07:32:08
0楼
所以,基于smb2中断方式的通讯速率不能太高, 可计算一下两个字节之间的时间有多少, 中断处理是否来得及.
串口通讯在硬件上至少有一级缓冲, 也就说, 接收到一个完整字符后, 硬件先把它放在缓冲区中以供读取, 接收电路继续接收后续字符.
接收字符已在smb2, 我们想象一下, smb2是软件缓冲, 也就是说, 在中断事件8和25执行之前, 系统程序已经完成从硬件缓冲中读取字符至软件缓冲区, 也可进一步想象它是一个双缓冲的机构.
所以, 只要通讯速率选得适当, 即使两个通道同时收到字符, 也可以有充足的时间一一处理.