当前位置: 首页 > GPRS/CDMA 1X > 文章
|
|
基于CDMA的移动无线数据传输系统
|
文章来源: 单片机与嵌入式系统应用
文章作者: 宋鹏 严峰斌
发布时间: 2006-08-07
字体:
[大
中
小]
|
|
(1) MCU的初始化
单片机的初始化很重要,它关系到程序能否正确运行。这里主要功能是分配串口引脚,设置系统时钟,确定波特率。
这里需要重点注意的问题是MCU的初始化。C8051 MCU硬件资源相当丰富,但有一些不是能同时使用的,需要在初始化时进行设定,所以它的交叉开关译码表的正确使用非常重要。资料中提供的优先权交叉开关分配是有区别的,关键看XBR2特殊功能寄存器中的EMIFLE位的值。串口分配时只用到4个引脚,没有用到外部存储器,所以 P0.7、P0.6、P0.5 的功能由交叉开关或端口锁存器决定,而且EMIFLE的值为“0”,这样可以保证串口分配不出现错位。
(2) 删除短消息子程序
删除短消息子程序的作用是清空SIM卡里存入的所有读过的短消息,但未读取的短消息不会删除,使每个新来的短消息的标号都为“0”。
(3) 读短消息子程序
读短消息子程序的作用是读取新消息并将短信的内容存储在内部RAM中,为程序的跳转提供判断的依据。例如,如果短信的内容是“###13520479697*”,表示设定短消息发送号码;如果需要查询车辆状况,MCU就会向卡号为“13520479697”的用户发定位信号。 指令“AT+CMGR=0”表示读取SIM卡里的标号为0的短信。先把该指令转换为ASCII码,然后再串行发送出去。CDMA模块就会执行相应的命令,并将短信内容通过串行口传递给单片机。单片机的串口0的接收标志位RI置位,表示接收到一个完整的字符,可以从串口寄存器中取走内容。该标志位不能自动清零,需要软件复位,然后进行下一个字节的接收。
短信的内容是有长度的,通过设定短信内容的最后一个字符是否为“*”号来决定接收停止位。接收时,判断串口寄存器。如果接收到的字符为“*”,表示停止接收,则后面接收的信息无效,将SBUF0的内容存入RAM区。
共8页: 上一页 [1] [2] [3] [4] [5] 6 [7] [8] 下一页
|
|
↑返回顶部 打印本页 关闭窗口↓
|
|
|
|