打印

为什么SBUF内的数据不能传送到WF中呢

[复制链接]
1776|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
43774275|  楼主 | 2009-10-14 16:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 43774275 于 2009-10-14 17:23 编辑

void  Uart_Re_Data( )
  {
   ES     =   0;  //关串口中断
      RI     =   0;  //清零串口完成中断请求标志   
      
      WF     =SBUF;
   while(RI ==0); //等待完成  //
      RI     =   0;
      ES     =   1;  //允许串口中断  
   }

程序如上,在串口通信调试的时候,SBUF的数据总是不能传送的WF中,单步调试完WF还是0x00,这是怎么回事??是程序出了问题,还是调试软件的问题?调试软件用的是KEIL

相关帖子

沙发
chen3bing| | 2009-10-14 17:51 | 只看该作者
WF     =SBUF;
应该放在后面。

使用特权

评论回复
板凳
ningling_21| | 2009-10-14 20:48 | 只看该作者
逻辑对不对?

使用特权

评论回复
地板
43774275|  楼主 | 2009-10-15 08:00 | 只看该作者
wf=sbuf的位置换过,一样的结果!

使用特权

评论回复
5
泰山特曲123| | 2009-10-15 12:47 | 只看该作者
1.改为   while(RI ==0); //等待完成  //
            WF     =SBUF;
2. 因为你都没有数据发给SBUF,SBUF保持默认值,为0x00,所以单步调试完WF还是0x00。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

16

帖子

1

粉丝