日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

NB模块初始化流程

發(fā)布時(shí)間:2025/4/5 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 NB模块初始化流程 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

文章目錄

  • 1 NB模塊初始化流程分析
    • 1.1 NB模塊初始化流程分析
    • 1.2 常見AT指令
  • 2 NB模塊初始化流程代碼實(shí)現(xiàn)

1 NB模塊初始化流程分析

1.1 NB模塊初始化流程分析

流程如下:

1.2 常見AT指令

測(cè)試日志如下:

//上電后自動(dòng)輸出 [11-08 17:35:22:824]*MATREADY: 1 [11-08 17:35:22:824]+CFUN: 1 [11-08 17:35:23:554]+CPIN: READY //at [11-08 17:35:39:015]AT [11-08 17:35:39:015]OK [11-08 17:35:41:676]ATE1 [11-08 17:35:41:676]OK //讀取imei號(hào) [11-08 17:35:44:993]AT+GSN [11-08 17:35:45:015]868334033341946 [11-08 17:35:45:015]OK //讀取imsi號(hào) [11-08 17:35:48:105]AT+CIMI [11-08 17:35:48:117]460041677239460 [11-08 17:35:48:117]OK //檢查sim卡 [11-08 17:35:49:393]AT+CPIN? [11-08 17:35:49:406]+CPIN: READY [11-08 17:35:49:406]OK //設(shè)置apn [11-08 17:35:51:101]AT+CFUN=0 [11-08 17:35:51:771]+CPIN: NOT READY [11-08 17:35:51:870]OK [11-08 17:35:52:730]AT*MCGDEFCONT="IP","" [11-08 17:35:52:730]OK [11-08 17:35:54:440]AT+CFUN=1 [11-08 17:35:54:762]OK [11-08 17:35:55:157]+CPIN: READY //檢查網(wǎng)絡(luò)注冊(cè) [11-08 17:35:55:915]AT+CSQ [11-08 17:35:55:915]+CSQ: 0,0 [11-08 17:35:55:915]OK [11-08 17:35:56:892]AT+CSQ [11-08 17:35:56:892]+CSQ: 0,0 [11-08 17:35:56:892]OK [11-08 17:35:57:491]AT+CSQ [11-08 17:35:57:491]+CSQ: 17,0 [11-08 17:35:57:491]OK [11-08 17:35:59:819]AT+CEREG? [11-08 17:35:59:832]+CEREG: 0,2 [11-08 17:35:59:832]OK [11-08 17:36:00:852]AT+CEREG? [11-08 17:36:00:852]+CEREG: 0,1 [11-08 17:36:00:852]OK [11-08 17:36:03:266]AT+CGACT? [11-08 17:36:03:277]+CGACT: 1,1 [11-08 17:36:03:277]OK [11-08 17:36:06:251]AT+CGCONTRDP [11-08 17:36:06:265]+CGCONTRDP: 1,5,"CMNBIOT","100.69.240.217.255.255.255.0" [11-08 17:36:06:265]OK

2 NB模塊初始化流程代碼實(shí)現(xiàn)

dev_sim7020.c:

#include <string.h> #include "main.h" #include "at_parse.h" #include "app_debug.h"#include "FreeRTOS.h" #include "task.h"#define AT_CMD_AT "AT" #define AT_CMD_ATE0 "ATE0" #define AT_CMD_GET_IMEI "AT+GSN" //get imei #define AT_CMD_GET_IMSI "AT+CIMI" //get imsi #define AT_CMD_SET_APN "AT*MCGDEFCONT=\"IP\",\"\"" //cmnbiot "AT*MCGDEFCONT=\"IP\",\"cmnbiot\"" #define AT_CMD_CFUN0 "AT+CFUN=0" #define AT_CMD_CFUN1 "AT+CFUN=1" #define AT_CMD_CPIN "AT+CPIN?" #define AT_CMD_CSQ "AT+CSQ" #define AT_CMD_CEREG "AT+CEREG?" #define AT_CMD_CGACT "AT+CGACT?" #define AT_CMD_CGCONTRDP "AT+CGCONTRDP" #define AT_CMD_PSM_REPORT "AT+CPSMSTATUS=1" #define AT_CMD_PSM_ON "AT+CPSMS=1,,,\"01001010\",\"00000000\"" #define AT_CMD_PSM_OFF "AT+CPSMS=0" #define AT_REPORT_PSM "+CPSMSTATUS:"#define STATUS_IS_ON() (!HAL_GPIO_ReadPin(M_STA_GPIO_Port,M_STA_Pin)) #define STATUS_IS_OFF() (HAL_GPIO_ReadPin(M_STA_GPIO_Port,M_STA_Pin)) #define PWRKEY_HIGH() HAL_GPIO_WritePin(M_PWR_GPIO_Port,M_PWR_Pin,GPIO_PIN_RESET) #define PWRKEY_LOW() HAL_GPIO_WritePin(M_PWR_GPIO_Port,M_PWR_Pin,GPIO_PIN_SET)#define SIM_RECV_BUF_SIZE 150struct sim7020_control_t {char recv_buf[SIM_RECV_BUF_SIZE];uint16_t recv_len; }sim_ctl;static bool sim7020_at_ok() {uint16_t err=0;while (err<3){err++;if(at_send_wait_reply(AT_CMD_AT,true,"OK","ERROR",NULL,NULL,1000)==false)continue;if(at_send_wait_reply(AT_CMD_ATE0,true,"OK","ERROR",NULL,NULL,1000)==false)continue;return true;}return false;}bool sim7020_pwr_on() {uint16_t err=0;DEBUG("sim7020 pwr on");if(STATUS_IS_ON())return true;while(err<3){err++;PWRKEY_HIGH();vTaskDelay(200);PWRKEY_LOW();vTaskDelay(1000);PWRKEY_HIGH();vTaskDelay(500);if(!STATUS_IS_ON())continue;if(sim7020_at_ok()==false)continue;return true;}return false; }bool sim7020_pwr_off() {uint16_t err=0;DEBUG("sim7020 pwr off");if(STATUS_IS_OFF())return true;while(err<3){err++;PWRKEY_HIGH();vTaskDelay(200);PWRKEY_LOW();vTaskDelay(1500);PWRKEY_HIGH(); vTaskDelay(500);if(!STATUS_IS_OFF())continue;return true;}return false; }bool sim7020_reboot() {if(STATUS_IS_ON()){if(sim7020_pwr_off()==false)return false;}return sim7020_pwr_on(); }static bool sim7020_send_atcmd(char *cmd,char *prefix,uint32_t timeout) {memset(sim_ctl.recv_buf,0,SIM_RECV_BUF_SIZE);sim_ctl.recv_len=SIM_RECV_BUF_SIZE;return at_send_wait_reply (cmd,true,prefix,"ERROR",sim_ctl.recv_buf,&sim_ctl.recv_len,timeout); }static bool sim7020_get_imei() {uint16_t err=0;while(err<3){err++;vTaskDelay(100);if(sim7020_send_atcmd(AT_CMD_GET_IMEI,"86",1000)!=true)continue;return true;}return false; }static bool sim7020_check_sim() {uint16_t err=0;while(err<3){err++;vTaskDelay(500);if(sim7020_send_atcmd(AT_CMD_CPIN,"+CPIN: READY",1000)!=true)continue;return true;}return false; }static bool sim7020_set_apn() {uint16_t err=0;while(err<3){err++;vTaskDelay(100);if(sim7020_send_atcmd(AT_CMD_CFUN0,"OK",1000)!=true)continue;vTaskDelay(100);if(sim7020_send_atcmd(AT_CMD_SET_APN,"OK",1000)!=true)continue;vTaskDelay(100);if(sim7020_send_atcmd(AT_CMD_CFUN1,"+CPIN: READY",1000)!=true)continue;return true;}return false; }static bool sim7020_check_net() {uint16_t err=0;while(err<300){err++;vTaskDelay(100);if(sim7020_send_atcmd(AT_CMD_CSQ,"+CSQ:",1000)!=true)continue;vTaskDelay(100);if(sim7020_send_atcmd(AT_CMD_CEREG,"+CEREG: 0,1",1000)!=true)continue;vTaskDelay(100);if(sim7020_send_atcmd(AT_CMD_CGACT,"+CGACT: 1,1",1000)!=true)continue;vTaskDelay(100);if(sim7020_send_atcmd(AT_CMD_CGCONTRDP,"+CGCONTRDP:",1000)!=true)continue;return true;}return false;}bool sim7020_deinit() {DEBUG("sim7020 deinit");sim7020_pwr_off();at_parse_deinit();memset(&sim_ctl,0,sizeof(sim_ctl));return true; }bool sim7020_init() {uint16_t err=0;DEBUG("sim7020 init");while(err<3){err++;if(at_parse_init()!=true)continue;memset(&sim_ctl,0,sizeof(sim_ctl));if(sim7020_reboot()!=true)continue;if(sim7020_get_imei()!=true)continue;if(sim7020_check_sim()!=true)continue;if(sim7020_set_apn()!=true)continue;if(sim7020_check_net()!=true)continue;vTaskDelay(100);DEBUG("sim7020 init ok");return true;}sim7020_deinit();return false;}

總結(jié)

以上是生活随笔為你收集整理的NB模块初始化流程的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: bbbbbxxxxx性欧美| 午夜神马影院 | 免费欧美黄色 | 日本伦理一区二区 | 日本黄动漫| 日本在线播放一区 | 久久大香| 玉米地疯狂的吸允她的奶视频 | 精品久久久久久久久久久久 | 五月激情开心网 | 午夜亚洲福利在线老司机 | 色哟哟网站入口 | 99re免费视频精品全部 | 91影院在线观看 | 青青草免费在线观看视频 | www.色com| 久久这里只有精品国产 | 国产成人高清 | av无码精品一区二区三区 | 亚洲少妇网站 | 国模私拍xvideos私拍 | 国产亚洲不卡 | 久久久久久久久久影视 | 国产精品久久久久影院老司 | 亚洲国产麻豆 | 亚洲欧洲精品在线 | 久久久久久久久久影院 | 国产精品第72页 | 国产精品伦理 | 欧美日韩综合一区二区三区 | 天堂精品视频 | 亚洲精品区 | 人人狠狠 | 天天看天天操 | 日本黄网站色大片免费观看 | 黄色av免费观看 | 少妇2做爰bd在线意大利堕落 | 超碰免费在线播放 | 成人福利在线视频 | 少妇熟女视频一区二区三区 | 国产高清免费av | 国产一级片精品 | 69视频一区二区三区 | 人妖ts福利视频一二三区 | 妖精视频在线观看 | 欧美老熟妇乱大交xxxxx | 91网站免费在线观看 | 亚洲午夜精品久久久久久app | 国产情侣一区 | 色偷av | 黄色激情在线观看 | 亚洲综合一区在线 | 最新av网址在线观看 | 伦理片中文字幕 | 夜夜春夜夜爽 | 欧美丝袜一区二区 | 成人妇女淫片aaaa视频 | 好逼天天操 | av夜色 | 亚洲国产av一区二区 | www.久久爱| 亚洲精品一区二区三区不卡 | 韩日av在线| 国产精品一二三区在线观看 | 泰坦尼克号3小时49分的观看方法 | 777黄色| 国产天天综合 | 亚洲香蕉视频 | 成人娱乐网 | 美女一区二区视频 | 黄色片免费网站 | 91超碰在线播放 | 18禁超污无遮挡无码免费游戏 | 中文字幕在线天堂 | 日韩久 | 第九色激情 | 黄色网入口| 男人的天堂亚洲 | 人妻熟人中文字幕一区二区 | 91在线精品观看 | 亚洲欧洲av| 亚洲六月婷婷 | 97视频精品 | 欧美性精品 | 国产麻豆一区二区三区在线观看 | 青青操原 | 澳门超碰| 96日本xxxxxⅹxxx17| 国产日产亚洲精品 | 国产专区在线播放 | 国产精品一区视频 | 国产一国产二国产三 | 日本天堂一区 | 午夜精品免费视频 | 日本少妇与黑人 | 欧美mv日韩mv国产网站 | 熟女少妇在线视频播放 | 91精品在线观看入口 | 高潮毛片无遮挡免费看 |