资源简介
中兴物联ME3630(LCC)4G模组的驱动代码,由状态机配合拨号流程
代码片段和文件信息
#include “includes.h“
//ME3630通信状态机
void Me3630_Proc(void)
{
static u8 step = ME3630_ATE0retry = 0;
u8 erri;
char *stristr[6];
static u8 me3630_count = 0;
u16 tmp = 0;
switch(step)
{
case ME3630_RESTART_STEP_1:
{
PNM_RST_H();
PNM_POWER_H();
if(MyTimeDly(001200))
{
PNM_RST_L();
step = ME3630_RESTART_STEP_2;
}
break;
}
case ME3630_RESTART_STEP_2:
{
if(MyTimeDly(0030500))
{
me3630_count = 0;
retry = 0;
step = ME3630_ATE0;
}
break;
}
case ME3630_ATE0:
{
if(MyTimeDly(0020))
{
LcSysWork.csq = 0;
strcpy((char *)U2.tx_buf“ATE0\r\n“);
usart2_tx_start(U2.tx_bufstrlen((const char *)U2.tx_buf));
step = ME3630_ATE0_CHK;
}
break;
}
case ME3630_ATE0_CHK:
{
MySemPend(&Usart2Sem3000&err);
if(err == 0x01)
{
if(strstr((const char *)U2.rx_buf“OK“))
{
retry = 0;
step = ME3630_CPIN;
}
else
{
retry += 1;
step = ME3630_ATE0;
}
}
else if(err == 0x02)
{
retry += 1;
step = ME3630_ATE0;
}
if(retry > 10)
{
step = ME3630_RESTART_STEP_1;
}
break;
}
case ME3630_CPIN: //sim卡检测
{
if(MyTimeDly(0020))
{
strcpy((char *)U2.tx_buf“AT+CPIN?\r\n“);
usart2_tx_start(U2.tx_bufstrlen((const char *)U2.tx_buf));
step = ME3630_CPIN_CHK;
}
break;
}
case ME3630_CPIN_CHK:
{
MySemPend(&Usart2Sem3000&err);
if(err == 0x01)
{
if(strstr((const char *)U2.rx_buf“READY“))
{
retry = 0;
step = ME3630_COPS_SET;
}
else
{
retry += 1;
step = ME3630_CPIN;
}
}
else if(err == 0x02)
{
retry += 1;
step = ME3630_CPIN;
}
if(retry > 3)
{
NetworkStatus = NET_CARD;
step = ME3630_ATE0;
}
break;
}
case ME3630_COPS_SET://网络选择
{
if(MyTimeDly(0020))
{
if(Pnm.copsmode==1)//手动2G网络
{
strcpy((char *)U2.tx_buf“AT+COPS=0000\r\n“);
}
else //自动
{
strcpy((char *)U2.tx_buf“AT+COPS=0\r\n“);
}
usart2_tx_start(U2.tx_bufstrlen((const char *)U2.tx_buf));
step = ME3630_COPS_SET_CHK;
}
break;
}
case ME3630_COPS_SET_CHK:
{
MySemPend(&Usart2Sem5000&err);
if(err == 0x01)
{
if(strstr((const char *)U2.rx_buf“OK“))
{
retry = 0;
NetworkStatus = NET_REGISTER;//1000ms闪!!!!
step = ME3630_CREG;
}
else
{
retry += 1;
step = ME3630_COPS_SET;
}
}
else if(err == 0x02)
{
retry += 1;
step = ME3630_COPS_SET;
}
if(retry > 3)
{
step = ME3630_ATE0;
}
break;
}
case ME3630_CREG://网络注册
{
if(MyTimeDly(0020))
{
strcpy((char *)U2.tx_buf“AT+CREG?\r\n“);
usart2_tx_start(U2.tx_bufstrlen((const char *)U2.tx_buf));
step=ME3630_CREG_CHK;
}
break;
}
case ME3
相关资源
- Intel(R) 82579V网卡驱动for server20033
- H310.B360.H370.Z390.USB WIN7 64位第三方驱动
- 300系列WIN7 USB驱动.7z
- 影驰GALAXY 8600GT魔灵显卡驱动 For xp/v
- XP下AHCI驱动hm55与hm76的安装
- HM77芯片组AHCI驱动 最新版
- 华硕P8H61/USB3 R2.0主板BIOS驱动 免费版
- 映泰Biostar TA870网
- RTL8188EVT USB WIFI无线网卡驱动 免费版
- asrock华擎app shop主板管理
- asus华硕 m5a97 le r2.0主板bios 官方版
- 标准pike 6480华硕SAS阵列卡驱动 官方版
- ASUS华硕K45VD|A45VD主板驱动程序 v9.3.0
- 华硕ASUS K42JZ BIOS主板驱动程序 v9.1.1
- 华硕b250主板网卡驱动 官方最新版
- ASUS华硕B85主板BIOS驱动程序 官方版
- Samsung三星R439-DS系列网卡驱动程序 v
- 索尼SONY VPCM125JC网卡驱动程序 v6.0.14
-
li
nksys AE1000/Cisco AM10无线网卡驱动 - 基于可编程的二相线阵CCD驱动电路设
- 中盈ZY50打印机驱动 v1.1 官方版
- 中盈 NX-612打印机驱动 v1.1 官方版
- 基于SPCE061A单片机的图形液晶模块的驱
- 基于SPCE061A单片机的图形液晶模块的驱
- 宏碁Acer 4741G驱动合集 for winxp 官方版
- 移动硬盘万能驱动 win7
- 大功率LED高频驱动电路设计方案
- TMF8801驱动参考代码
- 清华同方手写板万能驱动程序
- ASUS华硕a550笔记本电脑网卡驱动程序
评论
共有 条评论