本帖最后由 冷漠 于 2010-6-9 09:16 编辑
SM2设置为1还是0 ?且看下面公式:
1、 RI(中断)= / SM2 + SM2 • RB8
或者 2、 RI = RB8 + / SM2 • / RB8
2者互相可以推导出来的,看哪个好**罢了。
这澄清了一个概念:当RB8=1时,无论SM2是否为1,都将引发接收中断;当SM2=0 时,无论RB8是否为1,都将引发接收中断。
那么,如果LZ将SM2设置为1,若要接收方RI中断,这就必然要求发送方(PC串口专家)发送帧的第9位一定是“1”,(忘了说,这是方式2/3时)否则不能触发接收方中断;——如若是方式2(8位帧)只能是停止位起第9位的作用了。所以,将SM2设置为“0”,方式1——8位传输,可以接收任何帧(无论8位、9位)触发RI中断。 |