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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

NB模块开机、关机、重启的实现

發(fā)布時間:2025/4/5 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 NB模块开机、关机、重启的实现 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

文章目錄

  • 1 NB模塊開機(jī)、關(guān)機(jī)、重啟的流程分析
    • 1.1 開機(jī)
    • 1.2 關(guān)機(jī)
    • 1.3 重啟
  • 2 NB模塊開機(jī)、關(guān)機(jī)、重啟的代碼實(shí)現(xiàn)

1 NB模塊開機(jī)、關(guān)機(jī)、重啟的流程分析

首先看一下硬件連接圖:

下面我們需要看一下硬件原理圖中需要注意的點(diǎn):

1.1 開機(jī)

NB模塊開機(jī)時序圖如下:

開機(jī)的流程圖如下:

1.2 關(guān)機(jī)

NB模塊關(guān)機(jī)時序圖如下:

NB模塊關(guān)機(jī)流程圖如下:

1.3 重啟

NB模塊重啟實(shí)現(xiàn)可以通過開機(jī)和關(guān)機(jī)兩種操作就可以組合成重啟。

流程圖如下:


2 NB模塊開機(jī)、關(guān)機(jī)、重啟的代碼實(shí)現(xiàn)

dev_sim7020.c:

#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 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)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(); }bool sim7020_init() {DEBUG("sim7020 init");if(at_parse_init()!=true)return false;if(sim7020_reboot()){DEBUG("-------sim7020 reboot success------");}return true;}

總結(jié)

以上是生活随笔為你收集整理的NB模块开机、关机、重启的实现的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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