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

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


#include
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            for(j=0; j<65535; j++);
}

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

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

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



回复评论 (4)

Uart1Sent函数只有一个形参,而你报错的那里放了两个字符串
点赞  2016-5-25 08:15
楼主的代码即使编译出来也是无法和8266交互,你回车换行都错了,模块只会出错误。
Uart1Sends("AT+PING=\"baidu.com\"\r\n"),看明白了吗?“前面需要\,还有代码不是那样写的,最好用定时器时间片来做延时
淘宝:https://viiot.taobao.com/Q群243090717 多年专业物联网行业经验,个人承接各类物联网外包项目
点赞  2016-5-25 09:04
引用: wateras1 发表于 2016-5-25 09:04
楼主的代码即使编译出来也是无法和8266交互,你回车换行都错了,模块只会出错误。
Uart1Sends("AT+PING=\" ...

所有发送字符串都要按照这个格式吗
点赞  2016-5-25 12:40
不是,我建议你最好先用串口调试助手先测试下命令,转义字符需要。 6W~F`%6VZC]2%V[R1425]M5.png
我随便就好人做到底,送佛送到西天吧
//所有用到的AT命令结构体
AT_CMD at_cmds[] = {
    {AT_CMD_RST, "AT+RST\r\n", AT_RST_TIMEOUT, AT_DEF_RETRIES, net_check_ready, ERR_AT_NAK},
    {AT_CMD_CWMODE, "AT+CWMODE=1\r\n", AT_DEF_TIMEOUT, AT_DEF_RETRIES, net_check_at_nochange, ERR_AT_NAK},

    {AT_CMD_SMARTCONFIG,"AT+CWSTARTSMART=1\r\n", AT_LINK_TIMEOUT, 1, net_check_smartconfig, ERR_AT_NAK},
    {AT_CMD_SMARTSTOP,"AT+CWSTOPSMART\r\n", AT_SMARTLIK_TIMEOUT,AT_DEF_RETRIES, net_check_at, ERR_AT_NAK},
    {AT_CMD_CIPMUX, "AT+CIPMUX=0\r\n", AT_DEF_TIMEOUT, AT_DEF_RETRIES, net_check_at, ERR_AT_NAK},
    {AT_CMD_CIPSTART, NULL, AT_LINK_TIMEOUT, AT_DEF_RETRIES, net_check_alreay, ERR_AT_NAK},
    {AT_CMD_SENDLENGTH, NULL, AT_DEF_TIMEOUT, AT_DEF_RETRIES, net_check_send, ERR_AT_NAK},
    {AT_CMD_CIPCLOSE, "AT+CIPCLOSE\r\n", AT_DEF_TIMEOUT, AT_DEF_RETRIES, net_check_at_error, ERR_AT_NOCARE},
    {AT_CMD_CWQAP, "AT+CWQAP\r\n", AT_DEF_TIMEOUT, AT_DEF_RETRIES, net_check_at, ERR_AT_NAK},
    {AT_CMD_SEND, NULL, AT_DEF_TIMEOUT, AT_DEF_RETRIES, net_check_sendok, ERR_AT_NAK},
    {AT_CMD_SMARTRST,  "AT+RST\r\n", AT_RST_TIMEOUT, AT_DEF_RETRIES, net_check_ready, ERR_AT_NAK},
    {-1,NULL,0,0,NULL,ERR_AT_NAK}
};

淘宝:https://viiot.taobao.com/Q群243090717 多年专业物联网行业经验,个人承接各类物联网外包项目
点赞  2016-5-25 16:25
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复