原创 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文件的構成格式。 :