关于GSM和msp430连接的问题

2019-03-24 13:23发布

向各位大神求助了,我在用msp430串口连接GSM模块(TC35)的时候产生了重大问题。请听我细细道来。
我写了一个小程序,发送一个GSM的命令,然后GSM收到的话回返回数据的。可是GSM不返回。一开始我以为是电平问题,接了一块74ls244,再送给GSM。我确认通过74ls244后能数据能通过的,因为我接了USB转TTL的小板,串口调试助手收到了。
       一个奇怪的现象是,USB转TTL发命令给GSM,让GSM返回数据到430,430收得到。但是430发数据给GSM,GSM不知道是收不到还是4什么原因,不返回数据给430(还是430收不到?用串口调试助手发给GSM,GSM也不返回。但是,同样用51通过GSM模块引出的串口,51和GSM是可以通信的。
     我很怀疑是程序的问题,要么是电路的问题了。附上程序,跪求解决或者建议

#include<msp430g2553.h>
#define uint unsigned int
#define uchar unsigned char

#define MAXCHAR 20
uchar  aa[MAXCHAR];
uchar j=0;

uchar  ATE0[]="ATE0 " ;                        //关闭回显一个 0a(还行符)

void Print_Char(uchar ch)                         //发送单个字节
{
  while (!(IFG2&UCA0TXIFG));            
  UCA0TXBUF = ch;                  
}

void Print_Str(uchar *str)                      //发送字符串
{
  while(*str!='')
    {
      Print_Char(*str);
      //__delay_cycles(2000);
      str++;
    }
}

void Ini_UART(void)
{
  P1SEL = BIT1 + BIT2 ;                     // P1.1 = RXD, P1.2=TXD
  P1SEL2 = BIT1 + BIT2 ;                     // P1.1 = RXD, P1.2=TXD
  UCA0CTL1 |= UCSSEL_1;                     // CLK = ACLK         ACLK默认外部32K晶振
  UCA0BR0 = 0x03;                           // 32kHz/9600 = 3.41                32k/19200=1.66667
  UCA0BR1 = 0;                           //
  UCA0MCTL = UCBRS1 + UCBRS0;               // Modulation UCBRSx = 3
  UCA0CTL1 &= ~UCSWRST;                     // **Initialize USCI state machine**
  IE2 |= UCA0RXIE;                          // Enable USCI_A0 RX interrupt
  _EINT();
}

#pragma vector=USCIAB0RX_VECTOR                                   //接受中断
__interrupt void USCI0RX_ISR(void)
{
  aa[j]= UCA0RXBUF;//命令存到命令数组
  j++;
}

int main()
{
  WDTCTL = WDTPW + WDTHOLD;                 // Stop
  Ini_UART();
  while(1)
  {
    Print_Str(ATE0);//关闭回显   
    __delay_cycles(1000000);
  //  while(1);
  }
} 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
deweyled
1楼-- · 2019-03-24 19:28
TC35怎么供电的?当初玩过,最后发现是模块供电问题。
挨紧
2楼-- · 2019-03-24 19:40
< :TI_MSP430_内容页_SA7 --> 是用一个变压器,接220V市电的。51跟它通信没问题。就是通过它引出的串口和5V VCC,GND。
有点像这个,一个圆头的接口接了电源,变压器。
这个是淘宝链接,很像,基本一样:
http://item.taobao.com/item.htm? ... 495_2216478_8873472,0:1345135412_4z7_924259742
chunyang
3楼-- · 2019-03-24 23:19
 精彩回答 2  元偷偷看……
sint27
4楼-- · 2019-03-25 03:00
最近正好也在搞网关,你不关回显的时候,发送AT命令过去看看返回的是不是都正常
574937246
5楼-- · 2019-03-25 05:52
还没有开始弄,学得时候,求大神带啊~~~
koanzhongxue
6楼-- · 2019-03-25 07:14
 精彩回答 2  元偷偷看……

一周热门 更多>

相关问题

    相关文章