51单片机串口通信接收标志位RI的问题

2025-01-08 10:05:38
推荐回答(2个)
回答1:

SBUF收到数据RI会置位的
电脑发送数据是一个字节接着一个字节,两个字节之间会有延时,所以收到数据你需要尽快处理,不然可能会被新的数据覆盖
串口中断处理可以将SBUF存入数组,清零Ri,4个数据都收到之后再统一处理

回答2:

单片机会在每个晶振周期的第五个机器周期(具体第几个机器周期没印象了,但是这个不会影响你的理解)不断读取SBUF的内容(假设允许串口中断的前提下),读SBUF的过程中,RI将被自动至零.读取完SBUF的内容之后,RI自动置一,表示单片机将数据读取完毕. 这些过程都是硬件完成的,无需人工写指令进行干预