我写的串口读取程序,因不知道GPRS模块的波特率以及数据位,停止位等信息,所以暂时用了115200,8位数据位,一位停止位,现在读取到的信息是乱码。我不想一个一个的波特率去实验,那么如何才能知道GPRS模块通信的协议呢?
而且此wince平台的内核我不知道。
看了下手册,only提供了默认波特率为115200,其他没说~
这块板是2440处理器,SIM300Z模块
GPRS 模块一般可以自动适应波特率,你按照设好的波特率发送ATX给他,他就会自动调整波特率来适应你
如果模块不能自动适应,就只能一个个试了,有专用的命令可以修改波特率
通信协议就是AT命令集
输入一个简单的指令:AT\r
模块本该回复一个OK
但是我接收到的为“AU?……”等乱码
那就只有一个个试了,另外确认下你的串口程序有没有问题
连AT\r都不能正确收到OK的,除非是modem芯片坏了,这种可能性有,但比串口驱动出错的概率要低很多。
所以怀疑是驱动代码自身的问题。。。要不环回测试一把。
可能还是波特率的事,
其实常用的也就那几个,
试一下,比等答案更快些。
先确认设备串口和驱动没问题,
方法:将设备和PC的串口进行通信,
如果这都有问题,就得查设备硬件和驱动。
如果这没问题,再用GPRS模块试几个波特率。