close

學習英文與了解天下事,為什麼要讀時代雜誌呢?

閱讀世界新鮮事的人所擁有的國際觀是非常驚人的

當你開始閱讀time時代雜誌增加英文閱讀能力,同時也可以提昇世界觀

因此無論出社會還是在學時,推薦學英文的其中一種方法就是大量閱讀time時代雜誌

藉此提高外文的閱讀理解能力,提高英文文章與新聞的理解力,time時代雜誌是一個非常好的讀物!

因為這本雜誌所囊括世界各地最新的奇人異事,可以讓眼界變得更寬廣

而且許多最新片語詞彙,不見得你在字典可以找到,很多都是新創名詞

讓你的頭腦可以跟著世界的巨輪一起前進

只要閱讀1-2個月,你會發現你看原文的速度至少快上2-3倍。

除了TIME雜誌外,經濟學人,科學人,國家地理中文都很推薦

下面的介紹,可以讓你快速了解雜誌的特色

↓↓↓TIME雜誌限量特惠的優惠按鈕↓↓↓

PTT鄉民限量,團購,限時,週年慶,智能手環開發之 實現藍牙(BLE)基本功能禮物,優惠,特價,開箱,比價智能手環開發之 實現藍牙(BLE)基本功能,活動,好評,推薦

智能手環開發之 實現藍牙(BLE)基本功能01網友哪裡便宜,採購,優缺點,試用,智能手環開發之 實現藍牙(BLE)基本功能好用,智能手環開發之 實現藍牙(BLE)基本功能CP值,經驗,好康,集購,下殺,免比價,去哪買?,

名人推薦介紹,智能手環開發之 實現藍牙(BLE)基本功能部落客,排行,體驗,精選,限定,折扣,智能手環開發之 實現藍牙(BLE)基本功能折價卷,ptt,蝦皮拍賣,Dcard推薦評比開箱

選購指南!智能手環開發之 實現藍牙(BLE)基本功能這新知
如何選購智能手環開發之 實現藍牙(BLE)基本功能這新知
新手選購有技巧!部落客大推智能手環開發之 實現藍牙(BLE)基本功能這新知
智能手環開發之 實現藍牙(BLE)基本功能好用
這個這新知智能手環開發之 實現藍牙(BLE)基本功能你不能錯過
熱門的智能手環開發之 實現藍牙(BLE)基本功能好用?如何選購

↓↓↓下方有其他推薦產品與服務讓你選喔↓↓↓

熱點新知搶先報

 

(原創文章,已同步多個平臺,轉載請與作者聯繫) 0.前言 隨著醫療健康、可穿戴設備的發展,華為、小米、vivo等大廠都在做智能手環、手錶等可穿戴設備。未來,藍牙設備的開發也會越來越多。 關於藍牙BLE起源發展,各種類型藍牙晶片介紹,以及藍牙手環的硬體開發等在之前的文章已經有過詳細介紹。 本文主要介紹藍牙手環開發中,如何構建一個最小的BLE系統框架,以及使用的模塊。 總結一句話:能讓晶片的藍牙協議棧跑起來,手機能連接上藍牙手環設備。 ... 要讓藍牙功能跑起來,需要將注意力放在BLE開發的程序框架和模塊的整體功能上,之後再深入學習各個模塊。 1.BLE程序框架 智能手環的核心除了各種傳感器算法,最重要的就是藍牙了。一個BLE程序通常至少包含4個必要部分:系統初始化、啟動、空閒管理和事件處理。如下圖所示。 ... (1)系統初始化 這個系統初始化看起來很簡單,小學生貌似都能懂,不就是初始化系統嗎? 的確是初始化系統,那需要初始化什麼呢? a.日誌列印初始化:說白了就是為了方便我這種開發狗看上電啟動的Log信息以及後續輸出調試信息。不是必須的,但很重要。 b.APP定時器初始化:初始化APP定時器,用於實現各種定時任務。很重要。 c.硬體初始化:如指示燈初始化、OLED螢幕初始化、電源管理初始化等。 d.BLE相關初始化:包含藍牙協議棧初始化、廣播、首選連接參數、GAP層、服務等初始化配置。這部分初始化完成後,整個BLE部分的程序就會按照我們自己設置的參數運行。 (2)啟動 對於外圍設備來說,如手環,啟動的是廣播,啟動之後系統開始按照配置的廣播間隔開始發送廣播,等待中心設備連接,也就是等待手機連接。 對於中心設備(手機)而言,啟動的是掃描,掃描周圍的藍牙設備。 (3)空閒管理 空閒管理說白了就是為了省電,實現低功耗。你戴個手環,總不希望天天充電吧。空閒管理就是在你不看手環時候讓手環進入到低功耗模式。若有事件喚醒,如抬手腕亮屏等,就會恢復工作模式。 若程序中啟用了日誌列印功能,空閒管理還處理掛起的日誌信息。 (4)事件處理 應用程式通過註冊"事件監聽"來監視BLE協議棧事件。開發過Android就比較容易理解,如Button就需要監聽,看看Button是否按下等。 藍牙中如外圍設備和中心設備連接後,SoftDevice會提交 "連接事件",應用程式會在事件處理函數中接收該事件並執行操作。 對於一開始接觸藍牙開發的人而言,看完這些感到一絲絲懵逼也是很正常的。開發過藍牙的話,這些就很容易理解了。 沒關係,下面開始實戰。 本次開發選用 Nordic nRF52832藍牙晶片,相關開發板某寶也有很多賣。關於Nordic晶片之前的文章有過介紹,翻閱歷史文章。 2.先看Main函數 Main函數中主要調用各個模塊的初始化函數,如硬體初始化、IIC螢幕初始化等,這些模塊初始化本文暫不深入,主要是講藍牙架構。其中最重要的是藍牙初始化。 弄懂了藍牙初始化,藍牙就能跑起來。 int main(void) { //Log 初始化 APP_ERROR_CHECK(NRF_LOG_INIT(NULL)); NRF_LOG_DEFAULT_BACKENDS_INIT(); NRF_LOG_INFO("log init ok."); NRF_LOG_FLUSH(); //硬體初始化,APP timer,led,power Manager等 my_ble_init_harder(); //twi初始化,iic設備掃描,iic_sacn.c iic_scan_address(); nrf_delay_ms(2000); //藍牙初始化 my_ble_init(); } //藍牙初始化函數 void my_ble_init(void) { NRF_LOG_INFO("Hello world BLE developer "); NRF_LOG_INFO("BLE Template example:Log use uart as output terminal"); //初始化協議棧 ble_stack_init(); NRF_LOG_INFO("ble_stack_init()...OK"); //配置GAP參數 gap_params_init(); NRF_LOG_INFO("gap_params_init()...OK"); //初始化GATT gatt_init(); NRF_LOG_INFO("gatt_init()...OK"); //初始化廣播 advertising_init(); NRF_LOG_INFO("advertising_init()...OK"); //初始化服務 services_init(); NRF_LOG_INFO("services_init()...OK"); //連接參數協商初始化 conn_params_init(); NRF_LOG_INFO("conn_params_init()...OK"); //ble_address_change_test(); //啟動app time定時器 NRF_LOG_INFO("BLE HRS example started."); application_timers_start(); //啟動廣播 NRF_LOG_INFO("advertising_starting..."); advertising_start(); //主循環 while(true) { //OLED 顯示 my_oled_iic(); //處理掛起的LOG和運行電源管理 idle_state_handle(); } } 3.藍牙初始化 如上面代碼,藍牙初始化,包括初始化藍牙協議棧,配置GAP參數,初始化GATT,初始化廣播,初始化服務,連接參數初始化,啟動廣播,主循環。完成這些,手環藍牙晶片就能夠發廣播了,打開手機藍牙就能夠搜索到。 當然,這些初始化函數也是有很多內容的,也是非常關鍵的。實際藍牙手環的代碼複雜的多,需要花時間和精力去探索。 ... 4.總結 至於每個初始化函數的代碼怎麼寫,還有廣播參數等等,後面文章會逐一介紹。 畢竟一下子寫的太長,也沒人有耐心看下去。本文主要介紹藍牙程序框架,以及跑起整個藍牙時候大致的流程。 欲窮千里目,更上一層樓。了解整個架構,後續開發會輕鬆許多。

 

D15RF15FVFR5RR151EFE

 

 

文章來源取自於:

 

 

每日頭條 https://kknews.cc/tech/e5eqepy.html

如有侵權,請來信告知,我們會立刻下架。

DMCA:dmca(at)kubonews.com

聯絡我們:contact(at)kubonews.com


2020年今周刊訂購優惠國際書展家庭育兒雜誌哪裡訂便宜遠見雜誌訂購優惠國際書展科學人新竹哪裡訂
國際書展VOGUE南投哪裡訂 33歲賈青能把西服穿出凹凸感,個性出彩魅力足,不愧是男神收割機商管財經雜誌優惠訂閱價格 鄭秀晶終於瘦回來了,穿超短熱褲大秀電棒腿,重回女神顏值巔峰2020年社會人文雜誌哪裡訂便宜 青島「00」後大學生為戰「疫」設計機器人「尖兵」(1)2020年National Geographic台中哪裡訂 自媒體是什麼?自媒體怎麼做?

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 推薦文日記 的頭像
    推薦文日記

    推薦文日記

    推薦文日記 發表在 痞客邦 留言(0) 人氣()