单片机串口通信程序 接收失败是什么原因?

单片机串口通信程序 接收失败是什么原因?,#include <reg52.h>          …

单片机串口通信程序 接收失败是什么原因?,#include <reg52.h>                        
        
#define uint unsigned int
#define uchar unsigned char
        
/*函数声明区*/
void SendByte(unsigned char dat);
void SendStr(unsigned char *s);
void Uart_Init(void);

/*——————主函数———————-*/
void main(void)
{
        Uart_Init();                             //        SendStr(” UART test”);        
        ES = 1;                                  //打开串口中断
        while (1);                       

}

void Uart_Init(void)
{
    SCON  = 0x50;                                        // SCON: 模式 1, 8-bit UART, 使能接收  
    TMOD |= 0x20;               // TMOD: timer 1, mode 2, 8-bit 重装
    TH1   = 0xF4;               // TH1:  重装值 2400 波特率 晶振 11.0592MHz  
    TR1   = 1;                  // TR1:  timer 1 打开                        
    EA    = 1;                  //打开总中断
}  

/*—————–发送一个字节—————–*/
void SendByte(unsigned char dat)
{
         SBUF = dat;
         while(!TI);
                 TI = 0;
}

/*—————–发送一个字符串—————*/
void SendStr(unsigned char *s)
{
         while(*s!=’\0′)// \0 表示字符串结束标志,通过检测是否字符串末尾
         {
                  SendByte(*s);
                  s++;
         }
}
/*—————–串口中断程序—————–*/
void UART_SER (void) interrupt 4 //串行中断服务程序
{
    unsigned char Temp;          //定义临时变量   
           if(RI == 1)                  //判断是接收中断产生
    {
                        RI = 0;                    //标志位清零
                  Temp=SBUF;                 //读入缓冲区的值
             SBUF=Temp;                 //把接收到的值再发回电脑端
                }
           if(TI == 1)
                {                                                                                
            TI=0;                //如果是发送标志位,清零
                }
}

作者: soufei

为您推荐


Fatal error: Can't use function return value in write context in /www/wwwroot/www.qianrushi.com.cn/wp-content/themes/news/footer.php on line 115