This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] msp432p401r:使用sim868在服务器上发布数据失败

Guru**** 2609955 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/659768/msp432p401r-posting-data-on-server-failed-using-sim868

部件号:MSP432P401R

我正在通过串行通信将sim868模块接口与msp432p401r控制器配合使用。 我想在服务器上发布数据。但代码没有发布数据。当我从msp432向sim868发送"AT+HTTPREAD"命令时,我得到了响应{}(空白括号)。 我正在向sim868发送“AT+HTTPDATA=19210000”命令,我得到了“下载”响应,1万毫秒后我也得到了正常响应。数据将在1万毫秒内开机自检。

下面是我的代码:-

uart_puts((char *)"AT"); // COMMAND FOR INITIALIZING GSM
   uart_putc(0x0D);//CARRIAGE RETURN
   __delay_cycles(1000000);//DELAY...WAIT FOR OK FROM GSM
   ok_response();


 uart_puts((char *)"AT+SAPBR=3,1,\"Contype\",\"GPRS\""); // COMMAND FOR INITIALIZING GSM
   uart_putc(0x0D);//CARRIAGE RETURN
   __delay_cycles(1000000);//DELAY...WAIT FOR OK FROM GSM
   ok_response();

        uart_puts((char *)"AT+SAPBR=3,1,\"APN\",\"internet\"");//SEND A MESSAGE TO PARTICULAR NUMBER
   uart_putc(0x0D);
   __delay_cycles(1000000);//DELAY...WAIT FOR OK FROM GSM
   ok_response();


   uart_puts((char *)"AT+CGATT=1"); // AT commands to initialize gsm modem
   uart_putc(0x0D);
   __delay_cycles(1000000);//DELAY...WAIT FOR OK FROM GSM
   ok_response();

   uart_puts((char *)"AT+SAPBR=1,1"); // AT commands to initialize gsm modem
   uart_putc(0x0D);
   __delay_cycles(100000000);//DELAY...WAIT FOR OK FROM GSM
   ok_response();

   uart_puts((char *)"AT+SAPBR=2,1"); // AT commands to initialize gsm modem
   uart_putc(0x0D);
   __delay_cycles(1000000);//DELAY...WAIT FOR OK FROM GSM
   ok_response();


   uart_puts((char *)"AT+HTTPINIT"); // AT commands to initialize gsm modem
   uart_putc(0x0D);
   __delay_cycles(1000000);//DELAY...WAIT FOR OK FROM GSM
   ok_response();


   uart_puts((char *)"AT+HTTPPARA=\"CID\",1"); // AT commands to initialize gsm modem
   uart_putc(0x0D);
   __delay_cycles(1000000);//DELAY...WAIT FOR OK FROM GSM
   ok_response();


   uart_puts((char *)"AT+HTTPPARA=\"URL\",resonics.xyz:8995/.../data"); // AT commands to initialize gsm modem
   uart_putc(0x0D);
   __delay_cycles(1000000);//DELAY...WAIT FOR OK FROM GSM
   ok_response();


   uart_puts((char *)"AT+HTTPPARA=\"CONTENT\",\"application/x-www-form-urlencoded\""); // AT commands to initialize gsm modem
   uart_putc(0x0D);
   __delay_cycles(1000000);//DELAY...WAIT FOR OK FROM GSM
   ok_response();


  uart_puts((char *)"AT+HTTPDATA=99,100000"); // AT commands to initialize gsm modem
  uart_putc(0x0D);
  __delay_cycles(5000000);
  b=a;

  if( buff[b-3]=='D')
  {
        count=count+1;
        __delay_cycles(5000000);
        uart_puts((char *)"{  \"testID\" : 1,  \"testLevel\" : 1, }"); // AT commands to initialize gsm modem
        uart_putc(0x0D);
        __delay_cycles(5000000);   //DELAY...WAIT FOR OK FROM GSM

  }
 else
    {
        variable=variable+1;
    }

  uart_puts((char *)"AT+HTTPACTION=1");
  uart_putc(0x0D);
  __delay_cycles(5000000);//DELAY...WAIT FOR OK FROM GSM
  ok_response(); 

 uart_puts((char *)"AT+HTTPREAD");
 uart_putc(0x0D);
 __delay_cycles(5000000);//DELAY...WAIT FOR OK FROM GSM

//以中断方式接收数据
if (EUSCI_A0->IFG & EUSCI_A_IFG_RXIFG)
   {
      EUSCI_A0->IFG &=~ EUSCI_A_IFG_RXIFG;// Clear interrupt

      // Echo the received character back
      buff[a]= EUSCI_A0->RXBUF;

      a++;

     }
Please tell me where i am going wrong in code??