77范文网 - 专业文章范例文档资料分享平台

嵌入式系统设计(2)

来源:网络收集 时间:2020-05-18 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

信息的编码和解码,通过使用队列技术来确保能够进行正常的并发访问。 GSM 接打电话步骤:

发送 AT指令检测模块是否正常 发送 AT+CPIN?检测 SIM 卡是否在位

发送 AT+CSQ 查询信号质量等级,20~31 为宜 发送 AT+CLIP=1 开启来电显示 发送 ATD10086; 拨打电话; 发送 ATH 可结束通话; 在有来电时发送 ATA 可接听来电

短消息服务中常用的AT指令如表所示

发英文短信:

(假设给号码为 13XXXXXXXXX发送: “123456”)的流程: 发送 AT+CMGF=1, 设置为文本模式

发送 AT+CSCS=“GSM”, 设置默认的 GSM 7 位缺省字符集; 发送 AT+CMGS=“13265434569”,等待模块返回“>” 发送短信内容: “123456”, 最后以十六进制 0X1A 结束启动发送, 如果发送成功会返回+CMGS: xx OK。

5

GSM 发送中文短信步骤

(假设给号码为 13XXXXXXXXX发送:“信盈达欢迎你”)的流程: 发送 AT+CMGF=1, 设置为文本模式;

发送 AT+CSCS=\, 设置 TE 字符集为 UCS2; 发送 AT+CSMP=17,0,2,25, 设置短消息文本模式参数;

AT+CMGS=“00310033003200360035003400330034003500360039”,等待模块返回“>”

发送短信内容:

”4FE176C88FBE79D1628067099650516C53F86B228FCE60A8FF01”, 最后以十六进制 0X1A 结束启动发送 如果发送成功会返回+CMGS: xx OK。

四、主要程序

实现接打电话、收发短信,并用LCD屏显示回馈状态。 主程序:

#include \

#include \

#include \#include \#include \#include \#include \#include \#include \#include \

void delay(void) { u32 i=1000000; while(i--); }

int main(void)

{ u32 key_cont=0; u8 key,ack; u8 *p; SystemInit(); led_init(); key_init(); delay_init(72); usart1_init(9600); LCD_Init( );

6

LCD_ShowString(10,100,200,16,16,\ //LED初始化

while(NULL==send_ack(\ {

LCD_ShowString(10,100,200,16,16,\ delay_ms(500); }

while(NULL==send_ack(\ {

LCD_ShowString(10,100,200,16,16,\ delay_ms(500); }

while(NULL==send_ack(\ {

LCD_ShowString(10,100,200,16,16,\ delay_ms(500); }

while(1) {

u8 i;

p=send_ack(\ i=(*(p+6)-'0')*10; i+=(*(p+7)-'0');

LCD_ShowNum(10,100,i,2,16); if(i>20) break;

delay_ms(500); }

LCD_ShowString(10,100,200,16,16,\ LCD_ShowString(10,120,200,16,16,\

LCD_ShowString(10,140,200,16,16,\ LCD_ShowString(10,160,200,16,16,\ while(1) {

key_cont++; if(key_cont==10) {

key=key_scan(); key_cont=0; }

if(UP_KEY_OK==key) {

LED1=!LED1; //打电话模式 calling_mode(); }

else if(DOWN_KEY_OK==key)

7

{

LED2=!LED2;//接电话模式 }

else if(LEFT_KEY_OK==key) {

LED3=!LED3;//收短信模式 }

else if(RIGHT_KEY_OK==key) {

LED4=!LED4;//发短信模式 } delay_ms(1); } }

打电话GSM程序:

#include \#include \#include \#include \#include \#include \#include \#include \

u8* send_ack(const char*comm,const char*ack,u16 timeout) {

u8 *p;

rec_sta=0;

printf(\

while(timeout--) {

if(rec_sta==1) {

p=strstr((const char*)rec_buf,(const char*)ack); rec_sta=0; if(p!=NULL) break; }

delay_ms(1); if(rec_num>0) rec_cont++; if(rec_cont>20) {

rec_sta=1;

8

rec_cont=0;

rec_buf[rec_num]='\\0'; rec_num=0; } }

if(timeout==0) return NULL; else

return p; }

void calling_mode(void) {

u8 key_cont,key; u8 *p;

LCD_Clear(BLUE);

LCD_ShowString(10,100,200,16,16,\ LCD_ShowString(10,120,200,16,16,\ LCD_ShowString(10,140,200,16,16,\ while(1) {

key_cont++; if(key_cont==10) {

key=key_scan(); key_cont=0; }

if(LEFT_KEY_OK==key) {

LED1=!LED1;

p=send_ack(\打电话 if(p==NULL)//LCD屏幕显示 {

LCD_ShowString(10,100,200,16,16,\ } else {

LCD_ShowString(10,100,200,16,16,\ } }

else if(RIGHT_KEY_OK==key) {

LED2=!LED2;

send_ack(\ break; }

else if(DOWN_KEY_OK==key)

9

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库嵌入式系统设计(2)在线全文阅读。

嵌入式系统设计(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/jiaoyu/1053057.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: