MSP430调试AT指令出错,附原代码及错误图片

2019-03-24 09:20发布

最近调试ES8266WiFi模块,发送AT指令,编译时报错Error[Pe018]: expected a ")" ,错误的那一行是“Uart1Sends("AT+CWJAP="Tenda_316","14911123649" ");”,注释掉这行程序后就没问题,请问这是怎么回事?该怎么改?O(∩_∩)O谢谢
D{ZO]G8`1HW$UTK)6L0(LAR.png
原代码我贴在下面:


#include<msp430x14x.h>
typedef unsigned char uchar;
typedef unsigned int  uint;
/*********************时钟初始化***************/

             void Int_clk()
              {
                  uchar i;
                  BCSCTL1 &= ~XT2OFF;     //打开XT振荡器
                  BCSCTL2 |= SELM1 + SELS;   //MCLK=8M ,SMCLK=1M
                  do
                  {
                    IFG1 &= ~OFIFG;    //清除振荡错误标志
                    for(i=0;i<100;i++){
                       //等待延时
                    }   
                  }
                    while((IFG1 & OFIFG) != 0);   //如果标志为1,则继续循环等待
                    IFG1 &= ~OFIFG;
                 }

/*************串口初始化:***************/
              void Init_UART1(void)
            {
                P6DIR |= BIT2;P6OUT |= BIT2;              // 关电平转换
                P3SEL |= 0x30;                            // P3.4,5选择为UART收发端口
                UCTL0 |= SWRST;
                UCTL0 |= CHAR;                            // 8-bit character
                UTCTL0 |= SSEL1;                          // select SMCLK as CLK     (要得到8M)
                UBR00=0X45;    //确定波特率的整数部分  8M/115200=69.44
                UBR10=0X00;
                UMCTL0=0x71;    //  确定波特率的小数部分
                ME1 |= UTXE0 + URXE0;                     // 使能USART0收发
                UCTL0 &= ~SWRST;                          // 初始化UART0状态机
                IE1 |= URXIE0;                            // 使能接收中断
                return;
            }

/**************************************************/
//延时函数大概是1s钟.
void DelaySec(int sec)
{
        uint i,j= 0;
        for(i=0; i<sec; i++)
           for(j=0; j<65535; j++);
}

/*****************串口1 发送字符串************************/
void Uart1Sends(uchar *str)
{
    while(*str != '')
      {
            while (!(IFG1 & UTXIFG0));                // TX缓存空闲?
            TXBUF0 = *str++;                       // 发送数据
      }
      while (!(IFG1 & UTXIFG0));
      IFG1|=UTXIFG0;   //中断挂起
}

void AT_WIFI()  
{
    Uart1Sends("AT+RST ");  //初始化
    DelaySec(3);//延时3秒
    Uart1Sends("AT+CWMODE=3 ");  
    DelaySec(3);//延时3秒
    Uart1Sends("AT+CWJAP="Tenda_316","14911123649" ");
    DelaySec(3);//延时3秒
}

void main()
{
    WDTCTL = WDTPW + WDTHOLD;
    Int_clk();
    Init_UART1();
    AT_WIFI();
}



此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
4条回答
wateras1
2019-03-24 20:18
< :TI_MSP430_内容页_SA7 --> 楼主的代码即使编译出来也是无法和8266交互,你回车换行都错了,模块只会出错误。
Uart1Sends("AT+PING="baidu.com" "),看明白了吗?“前面需要,还有代码不是那样写的,最好用定时器时间片来做延时

一周热门 更多>

相关问题

    相关文章