打印

15单片机串口2只能接受数据,不能发数据

[复制链接]
408|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
码行天下|  楼主 | 2017-5-17 20:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我已经用了串口1发送数据,波特率9600但没有用中断,串口2相关程序如下,现在问题是函数 Uart2_Sendstring("The bedroom light has been turned off.\r\n");不执行

void Uart2Init(void)                //9600
{
        S2CON = 0x50;                           //8位数据,可变波特率
        AUXR|= 0x04;                           //定时器2时钟为Fosc,即1T
        T2L = 0xE0;                             //设定定时初值
        T2H = 0xFE;                             //设定定时初值
        AUXR|= 0x10;                           //启动定时器2
        EA=1;
  IE2=IE2|0x01;
}

void Uart2_Sendstring(uchar *str)
{
    uchar *p;
          IE2=IE2&0xFE;
          S2CON=S2CON&0xFD;
    p = str;
    while(*p != '\0')
  {
          S2BUF = *p;
                  while(S2CON&0x02== 0);      //等待发送标志位置位
                     S2CON=S2CON&0xFD;
         p++;
  }
         IE2=IE2|0x01;
}

void BlueTooth_INT() interrupt 8
{
        uchar receivechar;    //接受的字符
        
        if(S2CON&0X01==1)
{
          S2CON=S2CON&0XFE;
          receivechar=S2BUF;
          switch(receivechar)
         {
                        case '1':        //收到字符1,指示灯0灭
                                                          LED0=1;                                
                                                          Uart2_Sendstring("The bedroom light has been turned off.\r\n");                        
                                  break;                                       
                        case '2':        //收到字符2,指示灯1灭
                                                                LED0=0;
                                                                Uart2_Sendstring("The bedroom light has been turned on.\r\n");
                                  break;
      default:  //输入其他数据返回error
                                        Uart2_Sendstring("error\r\n");            
                break;                                                
          }
}         
}

void main()
     {
         Uart2Init();
          while(1);
    }

相关帖子

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

本版积分规则

1

主题

1

帖子

0

粉丝