标题: 关于单片机串行通信的问题 SBUF值给P1口,使LED灯亮 [打印本页]

作者: 常常常    时间: 2017-9-4 23:28
标题: 关于单片机串行通信的问题 SBUF值给P1口,使LED灯亮
    用串口助手把值送给SBUF ,再把SBUF值给P1口,使LED灯亮。但是为什么不亮呢?问题出在哪里?老哥们帮看看
#include<reg52.h>
#define uchar unsigned char
#define uint  unsigned int
uchar num;
void delay(uint z)
{
        uint x,y;
        for(x = z; x > 0; x--)
                for(y = 114; y > 0 ; y--);
}
void UART_init()
{
  TMOD = 0x20;           //定时器工作在方式2
  TH1 = 0xfd;
  TL1 = 0xfd;           //设置初始值,波特率为9600
  TR1 = 1;                   //打开定时器1
  SM0 = 0;
  SM1 = 1;                   //设置串行口工作为方式一
  REN =1;                   //允许串行口接收
}
void main()
{
  void UART_inti();
  while(1)
  {  
   while(!RI);
   P1 = SBUF;
   RI = 0;
  }
}


作者: sldx    时间: 2017-9-4 23:28
main 中居然有这个void UART_inti();没报错么,去掉void
作者: imxuheng    时间: 2017-9-5 16:56
PC端发的什么,要是字符的话应该不行
作者: wulin    时间: 2017-9-6 06:20
串口通讯查询方式
#include<reg52.h>
#define uchar unsigned char
#define uint  unsigned int
uchar num;
/*void delay(uint z)
{
        uint x,y;
        for(x = z; x > 0; x--)
                for(y = 114; y > 0 ; y--);
}*/
void UART_init()
{
        TMOD = 0x20;           //定时器工作在方式2
        TH1 = 0xfd;
        TL1 = 0xfd;           //设置初始值,波特率为9600
        TR1 = 1;                   //打开定时器1
        SM0 = 0;
        SM1 = 1;                   //设置串行口工作为方式一
        REN =1;                   //允许串行口接收
}
void main()
{
        UART_init();
        while(1)
        {  
                if(RI==1)                //查询接收中断请求标志位为1(已收到)
                {
                        RI=0;                //接收中断请求标志位清0
                        P1=SBUF;        //获取接收寄存器数据
                }
//                while(!RI);
//                P1 = SBUF;
//                RI = 0;
        }
}
作者: 常常常    时间: 2017-9-6 21:33
sldx 发表于 2017-9-6 01:40
main 中居然有这个void UART_inti();没报错么,去掉void

没有报错
作者: 常常常    时间: 2017-9-6 21:50
sldx 发表于 2017-9-6 01:40
main 中居然有这个void UART_inti();没报错么,去掉void

谢谢 问题已解决!!是因为没有去掉void,以及函数调用时把“init”写成了“inti”,,,,,,
作者: 常常常    时间: 2017-9-6 21:52
但是问什么要去掉void呢?这个函数里没有返回值啊




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1