关于单片机的缓冲区/缓冲寄存器

[复制链接]
查看11 | 回复4 | 2017-9-8 03:52:16 | 显示全部楼层 |阅读模式
请问高人:
缓冲区和缓冲寄存器有什么区别吗?
另外单片机的SBUF大小是多少?一个字节吗?为什么有的缓冲区还可以定义长度,是怎么回事?是不是单片机有区别呢?O(∩_∩)O谢谢啦
谢谢ghost4063的回答,还想问一下,缓冲区如何从RAM中划分出?划分出的缓冲区和SBUF的使用方式一样吗?缓冲区的作用是什么呢

回复

使用道具 举报

千问 | 2017-9-8 03:52:16 | 显示全部楼层
缓冲区就像个水池,数据就像水,水可以倒进去,也可以取出来,如果水池太小,水就可能溢出,就是一般说的缓冲区溢出。一般的缓冲区是程序员自己在普通RAM中划分出来的,而缓冲寄存器是CPU自身硬件固有的,是CPU公司设计的,功能与性质和普通缓冲区是一致的,但一般比较小,几个字节甚至1个字节,这就要求软件及时注意数据的更新。SBUF实际是2个字节,一个针对发送,一个针对接收,但寄存器名只有一个,CPU会自动根据程序的动作方向来决定使用哪个空间。 楼上的不要误人子弟哦。
回复

使用道具 举报

千问 | 2017-9-8 03:52:16 | 显示全部楼层
缓冲区跟缓冲寄存器不一样,缓冲区的划分是通过软件控制的,具体由程序员操作;
缓冲寄存器是51单片机的串行口缓冲寄存器,实际上有两个,一个发送缓冲器,一个接收缓冲器,但是共用同一个地址,读SBUF的时候是访问接受寄存器,写sbuf是访问发送寄存器
回复

使用道具 举报

千问 | 2017-9-8 03:52:16 | 显示全部楼层
这个怎么跟你解释呢?用火车站人流举个例子吧:SBUF相当于站台,缓冲区相当于候车室。MCS—51的SBUF就一个字节,写入同时启动发送。
回复

使用道具 举报

千问 | 2017-9-8 03:52:16 | 显示全部楼层
缓冲区是在RAM中定义的 一种数据结构,常见为数组
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行