串口中断接收函数
谢谢!我现在使用的是51芯片,串行口中断应该不分发送和接收优先级的。同级中断不应该嵌套,但是我的确得到了我所要的结果,所以我很费解。我修改程序
SERIAL:
JB RI,RECEIVE;检查是否是接收数据中断
CLR TI
AJMP SRET
RECEIVE:;若接收到数据则立即回发。
MOV BUFFER,SBUF
MOV SBUF,BUFFER
CLR RI;清除接收中断标志
SRET:INC R1;计算中断次数
RETI
如果按照循环嵌套的说法,这样应该会进入一个死循环,因为RI一直没办法被清零。但是程序却还是能够正常收发,我的想法对么?一般来说如果要把收到的数据立即转发会怎么做?