SBUF怎么赋值呢?

2019-07-15 13:14发布

要发送出去数据就是给SBUF赋值,可是赋值之后接收到的和赋给SBUF的值不一样呢?
程序.jpg
接收到的数据为什么不是5呢??
为啥有个8.jpg
labview读取的也是这样 85 85 85。
不知道是哪里出错了,期待前辈赐教
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
17条回答
haiwon
2019-07-16 05:44
本帖最后由 haiwon 于 2016-8-15 10:15 编辑

#include <reg51.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
void Delay(uint j)
    {     uint i;
            for(;j>0;j--)
          {         
                for(i=0;i<27;i++);

          }
    }
void main ()
{
        TMOD = 0x20;          //
        TH1 = 253;        // 赋初值
        TL1 = 253;
        TR1 = 1;          // 开始计时
        SCON = 0x50;          //工作方式1,9600bps
         while(1)
                {
                SBUF=5;
                while(TI==0) ;
                TI=0 ;
                Delay(10000);
                }
}


把if(TI==0)改用while(TI==0)之后,收到的数据还是多了一个“8”,不知道是什么情况@keil-uvision4

一周热门 更多>