请问用430发送AT指令怎么发送?

2019-03-24 08:14发布

比如 命令为 AT+SEND=data{CR}{LF},需要发送AT+SEND=3c,21,01,01,01,23,45,67,89,ab,cd,ef,fe,dc,ba,98,76,54,32,10
20个 1字节的16进制数,中间使用 逗号 隔开
代码为
uchar signin[20]={0x3c,0x21,0x01,0x01,0x01,0x23,0x45,0x67,0x89,0xab,0xcd,0xef,0xfe,0xdc,0xba,0x98,0x76,0x54,0x32,0x10};

void Send1Char1(uchar sendchar1)  
{  
     
      while (!(IFG2 & UTXIFG1));    //等待发送寄存器为空           
      TXBUF1 = sendchar1;   
}

void PutString2(uchar *ptr2)  
{  
  uint i;
  IE2 &= ~URXIE1;
      while(*ptr2 != '')  
      {              
            Send1Char1(*ptr2++);                     // 发送数据  
      }
   while (!(IFG2 & UTXIFG1));               
   TXBUF1 = signin[0];
   for(i=1;i<20;i++)
   {
      while (!(IFG2 & UTXIFG1));
      TXBUF1=',';
      while (!(IFG2 & UTXIFG1));               
      TXBUF1 = signin[i];
   }
      while (!(IFG2 & UTXIFG1));  
      TXBUF1 = 0x0d;   
      while (!(IFG2 & UTXIFG1));  
      TXBUF1 = 0x0a;   //发送换行指令
      IE2 |= URXIE1;
}
调用为  PutString2("AT+SEND=");

但是 总是参数错误,不知道问题所在。


此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
2条回答
tiankai001
2019-03-24 17:34
< :TI_MSP430_内容页_SA7 --> AT指令发送的数据应该是ASCII码,所以,很可能是你的数据组合有问题,例如0xab,要改成ox30+0x0a;0x30+0x0b两个字节发送

一周热门 更多>

相关问题

    相关文章