51单片机控制SIM900A发短信问题

2019-03-24 17:17发布

怎么通过矩阵键盘输入电话号码实现发短信功能,现在只能实现给固定的号码发短信,求大神们指点! 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
17条回答
王绍霖
1楼-- · 2019-03-25 16:22
dong2213dong 发表于 2016-8-31 11:52
为什么不直接转化成unicode码呢,数组加长就可以了啊

在单片机怎么直接转成Unicode码呀?而不是我们手动去转码呢
人民币的幻想
2楼-- · 2019-03-25 17:32
王绍霖 发表于 2016-8-31 11:31
固定号码的代码是这样的Uart1Sends("AT+CMGS="00310038003000370030003900300038003500310036" "); ...

你试试字符串拼接函数,strcat,前边发送指令是固定的,需要改变的只是后边unicode编码的数字。如果你只是号码任意,可以将0-9的数字unicode编码存起来,然后查表,所不同的是unicode是双字节编码,因此需要使用16位类型来存储,对于8位机来说,int类型即可。如果想发送任意汉字内容短信的话,则需要你用到unicode和GBK字库了,那样也许需要外置一个字库芯片或者自己制作一个字库芯片了。
王绍霖
3楼-- · 2019-03-25 22:39
 精彩回答 2  元偷偷看……
王绍霖
4楼-- · 2019-03-26 04:17
人民币的幻想 发表于 2016-8-31 15:12
你试试字符串拼接函数,strcat,前边发送指令是固定的,需要改变的只是后边unicode编码的数字。如果你只是 ...

感觉好复杂,不太理解
王绍霖
5楼-- · 2019-03-26 06:10
dong2213dong 发表于 2016-8-31 13:55
首先矩阵键盘的编码一定是你自己的程序处理吧,单片机不能规定你按下哪个按键表示那个数字吧,0-9 10个数 ...

如果数组已经存放好成这样了a[]={0,0,3,1,0,0,3,8,0,0,3,0,0,0,3,7,0,0,3,0,0,0,3,9,0,0,3,0,0,0,3,8,0,0,3,5,0,0,3,1,0,0,3,6}
那么这句话Uart1Sends("AT+CMGS="   " ")该怎么写?
dong2213dong
6楼-- · 2019-03-26 06:23
 精彩回答 2  元偷偷看……

一周热门 更多>