我用430的串口接上原子大哥的GPRS模块,数据传送接收好像有问题?我不明白是怎么回事,请原子大哥指点下,
完全是用的串口的写法,以为是写的不对,于是向上位机的串口调试助手上发送,这段程序向串口发送的是AT回车,
不知道这样给GPRS发送是不是格式不对呀,它一点回应也没有,430完全收不到
#include <msp430x14x.h>
typedef unsigned char uchar;
typedef unsigned int uint;
uchar len,Temp[40],txbuf[40];
void InitUart();
void PutString(uchar *ptr);
void sendata(uchar *Sbuf,uchar Slen)
{
Slen=0;
Sbuf[0]='A';
Sbuf[1]='T';
Sbuf[2]=13;
Slen+=3;
}
main()
{
P1DIR=0xFF1OUT=0xff;
P2DIR=0xff2OUT=0xff;
P3DIR=0xff3OUT=0xff;
P4DIR=0xff4OUT=0xff;
P5DIR=0xff5OUT=0xff;
P6DIR=0xff6OUT=0xff;
WDTCTL=WDTPW+WDTHOLD;
BCSCTL1&=~XT2OFF;
BCSCTL2=SELM_2+SELS;
do
{
IFG1&=~OFIFG;
for(uchar i=0xff;i>0;i--);
}while(IFG1&OFIFG);
InitUart();
sendata(txbuf,len);
PutString(txbuf);
while(1)
{
IFG1|=URXIFG0;
if(IFG1&URXIFG0)
{
if(len>30)len=0;
Temp[len++]=RXBUF0;
}
}
}
/*
初始化串口,波特率为9600,数据传输8位
*/
void InitUart()
{
P3SEL|=0x30;
ME1 |= URXE0+UTXE0;
UCTL0|=CHAR;
UTCTL0|=SSEL0;
UBR00=0x03;
UBR10=0x00;
UMCTL0=0x4A;
UCTL0&=~SWRST;
}
/*
向串口发送数据
*/
void PutString(uchar *ptr)
{
while(*ptr !='\0')
{
while(!(IFG1&UTXIFG0));
TXBUF0=*ptr++;
}
}
|