原创 ARM中當立即數作爲第二個操作數(源操作數)時如何使用MOV指令

       原文鏈接:點擊打開鏈接   問題:我剛開始學習ARM彙編語言,不太清楚如何利用MOV指令將立即數傳入到寄存器。在ARM參考手冊及我的課本中,都說MOV指令後跟的立即數變化範圍是0~255。但是當我在ADS1.2集成開發環境中

原创 藍牙beacon入門教程

介紹   2014年,許多組織開始着力開發藍牙beacon試點項目,到2015年,已經有許多公司開始嘗試利用部署好的藍牙beacon探索新的服務模式。據市場研究機構(ABI Research)預測,預計到2019年,beacon將

原创 深入理解藍牙5之高數據傳輸率

    距離藍牙5標準的發佈已經有一段時間了。 我們知道,藍牙5具有更大的傳輸距離,是藍牙4.2的4倍,更快的傳輸速度,是藍牙4.2的2倍,同時廣播數據包的長度也得到了提升,能夠傳輸的數據是之前的8倍。藍牙5發佈後,有開發者問我,既然藍牙

原创 深入理解藍牙5之遠距離通信

物聯網時代      據高盛的一篇文章所述,在20世紀90年代,大約有10億臺設備連接到互聯網上。進入21世紀,隨着智能手機的普及,這個數字上升到20億。ABI研究公司預測,到2021年,將有480億臺設備連接到互聯網上,我們稱之爲“物

原创 (一)藍牙低功耗(BLE)基礎教程--基於nRF5x系列SOC

  本系列教程的目的是幫助讀者瞭解nRF5x系列SOC和藍牙低功耗(BLE)的基礎知識。本篇將介紹藍牙廣播的相關知識,以一種簡單有趣的方式向讀者介紹藍牙的基本功能,爲讀者進一步深入理解BLE相關知識提供了良好的開端。在這裏我們不會提到BL

原创 (二)藍牙低功耗(BLE)基礎教程--基於nRF5x系列SOC

藍牙基本理論   藍牙核心規範對GATT(The Generic Attribute Profile)給出瞭如下定義: GATT定義了一種進行數據交換的結構,結構中包含一些基本元素如服務(services)和特性(characteri

原创 邊緣計算:展望與挑戰

摘要:隨着物聯網的興起以及雲服務的普及,一種新的計算範式–邊緣計算開始出現在我們視野中。邊緣計算主張在網絡的邊緣處理數據,從而減少系統反應時間,保護數據隱私及安全,延長電池使用壽命,節省網絡帶寬。本文我們將介紹邊緣計算的定義,並通過幾個案

原创 do{...}while(0)用法分析

在許多C/C++宏定義中我們會看到宏代碼包含在do while循環或者if else語句裏,例如:   #define M(X) do { f(X); g(X); } while (0)  #define M(X) if (1) { f(

原创 藍牙mesh網絡基礎

藍牙mesh網絡基礎

原创 什麼是JTAG及其使用方法

        感謝原著作者對人類文化的傳播做出的努力!以下內容直譯爲主,意譯爲輔,同時筆者可能會加入個人觀點以方便理解。如有翻譯不當的地方希望各位同仁積極指出,如有必要的話請做出引證,以助於筆者翻譯水平的提高,同時也有利於其它讀者的學習

原创 (三)藍牙低功耗(BLE)基礎教程--基於nRF5x系列SOC

一.基本理論 1.屬性協議與通用屬性規範   我希望大家把教程中提供的應用程序當作一個跳板,將來開發程序的時候可以對其進行擴展和完善。我會儘可能少地提到理論,但是這裏要提到的屬性協議(ATT)和通用屬性規範(GATT)是BLE中非常

原创 nRF52832及nRF52840片上系統功能概述

        nRF52832片上系統具有超低功耗及極高的設計靈活性,可以支持多種無線通信協議,功能十分強大。非常適合藍牙低功耗,ANT及2.4GHz 超低功耗無線應用。nRF52832片上系統內嵌32位ARM Cortex-M4F

原创 如何開發低功耗應用?

許多微控制器都具有多種低功耗和睡眠模式,可以減少產品功耗,延長電池壽命。由於每種微控制器之間存在差異,所以開發者需要對相應的器件有所瞭解,具體問題具體分析。以下簡單介紹幾點設計低功耗應用需要考慮的地方。 根據特定的應用場景選擇合適的微控制

原创 C語言鏈表常見用法

           鏈表是一種數據結構序列,它通過鏈環連接在一起。鏈環包含不同數據。每個鏈環包含有對其它鏈環的鏈接。鏈表是除數組之外使用最廣的數據結構,其常見用法示例如下: #include <stdio.h> #include <s

原创 Inter Hex文件格式

Inter Hex文件是一種常見的文件存儲格式,常用於微控制器編程。C編譯器或者彙編器將源程序轉化成機器碼並輸出Hex文件,從而將二進制信息表示成ASCII文本形式。接下來通過一個簡單的示例來了解一下Intel Hex文件的構成格式。 :