标题: 请问STC12C5A60S2单片机的串口2怎么用于连接syn7318语音模块啊? [打印本页]

作者: 雨晨    时间: 2018-8-6 21:22
标题: 请问STC12C5A60S2单片机的串口2怎么用于连接syn7318语音模块啊?
试了串口2用不了。。。。。。。有大神能贴个程序吗!
void UartInit(void)  //115200bps@11.0592MHz
{
AUXR &= 0xF7;  //??????
S2CON = 0x50;  //8???,?????
AUXR |= 0x04;  //???????????Fosc,?1T
BRT = 0xFD;  //?????????????
AUXR |= 0x10;  //??????????
}
void UART_Put_Char(uchar txd)
{
S2BUF = txd;
while(!TI);   //·¢ËͽáÊøÊ± TI = 1;  µÈ´ýTI = 0£»¿ªÊ¼·¢ËÍÊý¾Ý
TI=0;
}
void UART_Put_String(uchar* Pst,uint Length)
{
uint i;
for(i = 0; i < Length; i++)
{
  S2BUF = Pst[i];
  while(!TI);   //·&cent;&Euml;&Iacute;&frac12;á&Ecirc;&oslash;&Ecirc;± TI = 1;  &micro;&Egrave;&acute;&yacute;TI = 0&pound;&raquo;&iquest;&ordf;&Ecirc;&frac14;·&cent;&Euml;&Iacute;&Ecirc;&yacute;&frac34;&Yacute;
    TI=0;
}
}
uchar UART_Get_char()
{
while(!RI);  //S2RI = 1;&frac12;&Oacute;&Ecirc;&Otilde;&frac12;á&Ecirc;&oslash;
RI=0;
return(S2BUF);
}
void UART_Get_String(unsigned char *Pst,unsigned char Length)
{
  unsigned char i;
  for(i=0;i<Length;i++)
  {
     Pst[i] = UART_Get_char();
  }
}



作者: devcang    时间: 2018-8-7 00:18
驱动起来之后,就是一般的串口。。。。根据那个语音模块通讯,发送、接收命令和内容
作者: 雨晨    时间: 2018-8-7 09:38
怎么使用串口2啊?

作者: HUA1314HL    时间: 2018-12-5 19:12
雨晨 发表于 2018-8-7 09:38
怎么使用串口2啊?

你怎么解决的?
作者: yaoji123    时间: 2018-12-6 19:25
while(!RI);  //S2RI = 1;&frac12;&Oacute;&Ecirc;&Otilde;&frac12;á&Ecirc;&oslash;
RI=0;有问题,
应 if(S2CON&0x01)        //判断S2CON的最后一位是否为1,如果是1就说明是接收中断,如果是0就表示是发送中断。
                         //注意:串口中断是接收数据和发送数据都能产生的。
        {
         S2CON  =0x50;  //清零标志位,注意S2CON寄存器的地址为0x9b 不能被8整除,所以只能字节寻址
         buf2=S2BUF;  //将S2BUF的数据赋值给




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