天线|RF射频
直播中

李淑嘉

7年用户 264经验值
私信 关注
[问答]

使用sim300模块来发送短信,如果想发送0x1a应该怎么写?

我在使用sim300模块来发送短信,最后需要发送0x1a给sim300,现在不能发送。
现在在用发烧友sim900的底层,只用了串口2,[C] 纯文本查看 复制代码
if(m){m=0;u2_printf("at+cops?r");//发送指令查询当前服务状态delay_ms(1000);u2_printf("AT+CMGF=1r");//设置英文方式发送,当然也可以用中文的AT+CMGF=0,不过发送方式不太一样,具体请看相关程序delay_ms(1000);u2_printf("AT+CMGS=\"13664178711\"r");//发送指令设置10086电话是短信发送的号码delay_ms(1000);u2_printf("103r");//103 为发送的内容delay_ms(5000);u2_printf("%x",l);//以0x1a来结束,表示内容结束,发送短信delay_ms(1000);}其中倒数第二行 l 定义为 char l=0x1a;发送完成之后发现是吧1和a的ascall码发送了,我如果想发送0x1a应该怎么写?

回帖(8)

宁兴琴

2019-4-4 13:28:52
发0X1A的时候,不能调用printf,只能直接写DR寄存器。
举报

冯栋

2019-4-4 13:38:36
u2_printf("0x%x",l);//以0x1a来结束,表示内容结束,发送短信   
这个输出0x1A
 u2_printf("%c",l);//以0x1a来结束,表示内容结束,发送短信   
这个输出回车换行符
举报

李维奇

2019-4-4 13:47:09
这种方式刚试了一下不行,会把0x也以ASCALL码的形式发送出去
举报

冯敏敏

2019-4-4 14:03:11
你到底发出去是“0x1a”还是“EOF”还是"1A"还是'26',我说的第二种发出去的是什么呢?
举报

更多回帖

发帖
×
20
完善资料,
赚取积分