[求助] 串口通讯中,寄存器SBUF中的数值不能改变?

jzc1983 2007-01-15 03:32:27
例如我想传一个10,SBUF=10; 但是我再写一条指令把SBUF数据读出来,结果是另外的一个数FF,求助
...全文
1152 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
yestoyes 2008-04-11
  • 打赏
  • 举报
回复
我帮不了你,但可以帮你顶上去
aniya000 2007-11-09
  • 打赏
  • 举报
回复
学习老~谢谢!
  • 打赏
  • 举报
回复
发送SBUF和接收SBUF是二个不同的物理空间共用一个地址;读的时候是接收用的SBUF,这个SBUF是硬件从串口输入的,没有指令能改写;只读就是这个意思.
congcong_fire 2007-07-18
  • 打赏
  • 举报
回复
是不是你语言的格式错误了~
SBUF寄存器既可以当发送也可以当接受~
MOV A SBUF
MOV SBUF, A
wz 2007-07-11
  • 打赏
  • 举报
回复
有时侯在断电/上电时,怎么会接收到一些数据:0x00,0xff,
deletor 2007-07-11
  • 打赏
  • 举报
回复
哪位大侠知道:
如何清接收SBUF,
我看到复位后也不能清除,其状态不定!

我现在发送没问题,接收有时有问题:发'a'收到 0xD8;发'b'收到0xB1...

你可以试试flowercity(菜农)的方法,我觉得就没有必要清除,因为只有你收到新数据了才有必要去读。
看你的数据,发现收到的数据好像是错位了,你看一下上位机和下位机的波特率是否一致?或者晶振是否合适?
wz 2007-07-10
  • 打赏
  • 举报
回复
哪位大侠知道:
如何清接收SBUF,
我看到复位后也不能清除,其状态不定!

我现在发送没问题,接收有时有问题:发'a'收到 0xD8;发'b'收到0xB1...
yangb2014# 2007-07-10
  • 打赏
  • 举报
回复
同二楼,
flowercity 2007-01-16
  • 打赏
  • 举报
回复
此sbuf非彼sbuf

只要把2-3短接
你再次读取
接受的数据就是你发送的数据了
多试试吧
hjiongh 2007-01-16
  • 打赏
  • 举报
回复
单片机 SUBF有两个,一发一收,独立工作。
blueoceanli 2007-01-15
  • 打赏
  • 举报
回复
你放10的应该是cpu的发送缓存,这时候你看到的也应该是发送SBUF,接收缓存始终没有变化,所以有此结果
你不妨先将放你所谓的"10"的变量,赋予一个别的值,然后再让该变量=SBUF;
再看看结果是什么样吧?
lbing7 2007-01-15
  • 打赏
  • 举报
回复
SBUF物理上有两个的!!

一个只写,一个只读

你读的那个不是你写的那个,所以,不出来正常...

27,375

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧