51单片机串口SBUF疑问

[复制链接]
6220|8
 楼主| wanwwf117 发表于 2012-7-16 11:27 | 显示全部楼层 |阅读模式
各位高手,请问51单片机串口的接收和发送数据的寄存器SBUF是同一个
书上说的在单片机工作时不会引起数据接收和发送的出错
请问我们在编程串口中断程序时要不要设置REN=0或者1啊
ayb_ice 发表于 2012-7-16 11:42 | 显示全部楼层
名字是一个(共用名字,地址),实体是两个,一个只读,一个只写的
dlyt_test001 发表于 2012-7-16 14:31 | 显示全部楼层
名字是一个(共用名字,地址),实体是两个,一个只读,一个只写的
ayb_ice 发表于 2012-7-16 11:42

正解,专家就是专家。
aquariusat 发表于 2012-7-18 18:01 | 显示全部楼层
REN位用于对串行数据的接收进行控制:
REN=0 禁止接收
REN=1 允许接收
 楼主| wanwwf117 发表于 2012-7-19 13:22 | 显示全部楼层
2# ayb_ice
那请问是不是说不用管REN的值,只要在初始化的时候给他置1就成??
dsaasdj 发表于 2012-7-19 17:19 | 显示全部楼层
5# wanwwf117

我在初始化串口的时候,置REN=1, 程序烧到单片机里, 运行后单片机可以发也可以收.

当我改为REN=0时, 程序烧到单片机之后运行, 单片机只能发不能收.

你自己也可以试试.
coody 发表于 2012-7-19 17:36 | 显示全部楼层
不需要REN=0,SBUF是分开的
ayb_ice 发表于 2012-7-20 10:59 | 显示全部楼层
要接收就REN=1,不要接收就REN=0,就可以了

中间不用改变
eyesmall 发表于 2012-7-20 11:42 | 显示全部楼层
上面的都对,SBUF只是同名不同姓  一个是收SBUF一个是发SBUF。没冲突的。至于REN单片机需要接收信息就置1,不需要的话就0,搞不懂就直接置1吧,不影响功能
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

34

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部