找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1843|回复: 4
打印 上一主题 下一主题
收起左侧

请问STC12C5A60S2单片机的串口2怎么用于连接syn7318语音模块啊?

[复制链接]
跳转到指定楼层
楼主
ID:381195 发表于 2018-8-6 21:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
试了串口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();
  }
}


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:277550 发表于 2018-8-7 00:18 | 只看该作者
驱动起来之后,就是一般的串口。。。。根据那个语音模块通讯,发送、接收命令和内容
回复

使用道具 举报

板凳
ID:381195 发表于 2018-8-7 09:38 | 只看该作者
怎么使用串口2啊?
回复

使用道具 举报

地板
ID:323102 发表于 2018-12-5 19:12 | 只看该作者
雨晨 发表于 2018-8-7 09:38
怎么使用串口2啊?

你怎么解决的?
回复

使用道具 举报

5#
ID:432823 发表于 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的数据赋值给
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表