缓冲区就像个水池,数据就像水,水可以倒进去,也可以取出来,如果水池太小,水就可能溢出,就是一般说的缓冲区溢出。一般的缓冲区是程序员自己在普通RAM中划分出来的,而缓冲寄存器是CPU自身硬件固有的,是CPU公司设计的,功能与性质和普通缓冲区是一致的,但一般比较小,几个字节甚至1个字节,这就要求软件及时注意数据的更新。
SBUF实际是2个字节,一个针对发送,一个针对接收,但寄存器名只有一个,CPU会自动根据程序的动作方向来决定使用哪个空间。 楼上的不要误人子弟哦。
缓冲区跟缓冲寄存器不一样,缓冲区的划分是通过软件控制的,具体由程序员操作;
缓冲寄存器是51单片机的串行口缓冲寄存器,实际上有两个,一个发送缓冲器,一个接收缓冲器,但是共用同一个地址,读SBUF的时候是访问接受寄存器,写sbuf是访问发送寄存器
这个怎么跟你解释呢?用火车站人流举个例子吧:SBUF相当于站台,缓冲区相当于候车室。MCS—51的SBUF就一个字节,写入同时启动发送。
缓冲区是在RAM中定义的 一种数据结构,常见为数组