单片机和GPRS模块通信时,模块怎么知道单片机串口发送的数据格式譬如说有没有开始停止位校验位?? 50
voidWait_CREG(void){unsignedchari=0;unsignedchark;CLR_Buf1();while(i==0){CLR_Buf1();S...
void Wait_CREG(void)
{
unsigned char i=0;
unsigned char k;
CLR_Buf1();
while(i == 0)
{
CLR_Buf1();
Send_ASCII("AT+CREG?");// at+cgreg?查询模块是否有注册
Send_LR();
Delay(50000);
for(k=0;k<Buf1_Max;k++)
{
if(Buf_First_Serial[k] == ':')
{
if((Buf_First_Serial[k+4] == '1')||(Buf_First_Serial[k+4] == '5'))
{
i = 1;
break;
}
}
}
}
// CLR_Buf1();
}
这个函数一直没有出来。。。即单片机收不到GPRS模块的东西。。。我的单片机发送时选串口的工作方式1,即1个开始位8个数据位1个停止位。。。GPRS模块是西门子MC55。。。求解??? 展开
{
unsigned char i=0;
unsigned char k;
CLR_Buf1();
while(i == 0)
{
CLR_Buf1();
Send_ASCII("AT+CREG?");// at+cgreg?查询模块是否有注册
Send_LR();
Delay(50000);
for(k=0;k<Buf1_Max;k++)
{
if(Buf_First_Serial[k] == ':')
{
if((Buf_First_Serial[k+4] == '1')||(Buf_First_Serial[k+4] == '5'))
{
i = 1;
break;
}
}
}
}
// CLR_Buf1();
}
这个函数一直没有出来。。。即单片机收不到GPRS模块的东西。。。我的单片机发送时选串口的工作方式1,即1个开始位8个数据位1个停止位。。。GPRS模块是西门子MC55。。。求解??? 展开
3个回答
展开全部
模块是有要求串口的波特率的,你按要求的波特率写才行。具体要看模块的资料了。
你可以先用个串口助手在pc机上调试一下,看看模块能不能工作,就是你输入AT命令后,模块有没有正确回复。
你可以先用个串口助手在pc机上调试一下,看看模块能不能工作,就是你输入AT命令后,模块有没有正确回复。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
“模块怎么知道单片机串口发送的数据格式”
模块不知道。模块只能根据自己的预设方式和波特率来接收。
所以你现在要做的是先看一遍模块说明书。
模块不知道。模块只能根据自己的预设方式和波特率来接收。
所以你现在要做的是先看一遍模块说明书。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个东西发送什么你程序写的,你应该知道,不放心,可以用电脑串口小助手看看啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询