WinCE下使用GPRS模块出现问题

xuebatiantang 2017-08-03 09:58:40
WinCE的工程是Unicode字符集,因此在PC上写出来一个测试程序可以在Unicode工程下正常的发送中文短信,可是将代码复制到wince中就无法发送短信,使用ReadFile接收AT指令返回的命令一直显示接收的长度为0,请问一下这是什么原因,我第一次接触GPRS,一直没有调试成功,下面是我的一些代码;

HANDLE m_hPort;
m_hPort = CreateFile(
_T("COM3:"),
GENERIC_READ | GENERIC_WRITE, //允许读和写
0, //独占方式(共享模式)
NULL,
OPEN_EXISTING, //打开而不是创建(创建方式)
0,
NULL
);
这块是测试指令的返回
char* chs;
chs="AT\r\n";
DWORD dwNumWriteCMGF = 0;
WriteFile(m_hPort,chs,sizeof(chs),&dwNumWriteCMGF,NULL);
Sleep(1000);
char ch[30];
DWORD readLen = 0;
ReadFile( m_hPort,ch,10,&readLen,NULL);

chs = "AT+CSMP=17,167,2,25\r\n";//\x0D
int b = strlen(chs);
DWORD dwNumWriteCSMP = 0;
WriteFile(m_hPort, chs, b, &dwNumWriteCSMP, NULL);
Sleep(500);

chs = "AT+CSCS=\"UCS2\"\r\n";
int c = strlen(chs);
DWORD dwNumWriteCSCS = 0;
WriteFile(m_hPort, chs, c, &dwNumWriteCSCS, NULL);
Sleep(500);

接下来是对电话号码和中文短信内容的转换,这里就略过了,再者就是结束标志

chs = "\x1A";
int e = strlen(chs);
DWORD dwNumWriteEND = 0;
WriteFile(m_hPort, chs, e, &dwNumWriteEND, NULL);
Sleep(500);

测试好长时间一直没有成功,请问一下是什么原因,麻烦了,谢谢
...全文
1547 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuebatiantang 2017-08-04
  • 打赏
  • 举报
回复
引用 1 楼 worldy 的回复:
WriteFile(m_hPort,chs,sizeof(chs),&dwNumWriteCMGF,NULL);
红色那个参数对吗?应该是strlen


按照您说的修改了,还是不行

是不是需要在板子上配置什么参数,或者需要修改什么代码才能使用,谢谢您
worldy 2017-08-04
  • 打赏
  • 举报
回复
WriteFile(m_hPort,chs,sizeof(chs),&dwNumWriteCMGF,NULL); 红色那个参数对吗?应该是strlen

19,500

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧