原创 BLE層次結構

BLE體系結構圖 各層次說明 1.PHY 2.4G 3個廣播信道,37個數據信道,跳頻,這層做的好不好直接決定功耗,距離,靈敏度等 2.LL選擇哪個信道,怎麼識別空中數據,什麼時間發送數據,怎麼保證數據完整性,ACK,重傳,對鏈

原创 (八)協議棧時鐘如何更改

外部時鐘 1.默認爲外部時鐘,32.768HZ 2. nrf_clock_lf_cfg_t const clock_lf_cfg = { .source = NRF_SDH_CLOCK_LF_SRC,//時鐘源

原创 STM32串口dma發送數據部分字節出錯

1.通過STM32cubemx配置時鐘,串口參數 2.配置串口DMA,normal模式,byte 3.打開串口中斷(如果不開啓串口中斷,則程序只能發送一次數據,程序不能判斷DMA傳輸是否完成,USART一直處於busy狀態) 4.

原创 linux驅動的架構演變

演變歷程 第一階段,原始架構 第二階段,平臺總線架構 第三階段,設備樹架構 參考:迅爲linux驅動視頻

原创 (七)實現一個標準的profile

什麼是profile profile就是配置文件,包含一個或者多個服務。分爲公有profile和私有profile。例如心率配置文件定義了兩種角色,心率傳感器必須包含的服務,建議的廣播參數,綁定和非綁定下建立連接的過程 什麼是se

原创 微信硬件入門

參考資料 1.微信硬件平臺官網 https://iot.weixin.qq.com/wiki/new/index.html?page=2-1 2.從藍牙開發的視覺解讀微信Airsync協議 https://mp.weixin.qq

原创 (1)hello world

開始學習 1.新建文本文檔,重命名爲hello.go 2.加入代碼 package main import "fmt" func main(){ //花括號必須跟在main後面,下一行也要注意4個空格

原创 STM32cubexmx之SPI通信讀寫返回的數據一直是0

解決辦法方法一方法二 有如下兩種方法,測試發現都可以解決問題 方法一 void HAL_SPI_MspInit(SPI_HandleTypeDef* spiHandle) { GPIO_InitTypeDef GPIO_In

原创 nrf52832之看門狗

看門狗 1.啓動START任務,加載CRV寄存器的數值,然後向下計數到0,產生溢出事件,復位。如果使能了看門狗中斷,則推遲兩個週期復位 timeout=(CRV+1)/32768 默認程序裏面給的2S

原创 nrf52832之SPI

3種SPI 1.SPI:不含DMA的SPI主機,不推薦使用 2.SPIM:帶DMA的SPI主機,單次最大傳輸255字節 3.SPIS:帶DMA的從機 4.以上3者共享寄存器,所以只能使用其中一個,無法共存 5.支持3路SPI 6.

原创 nrf52832之TWI(IIC)

IIC 1.nrf52832中iic叫做twi 2.結構框圖 3.tx和rx只需要給7位地址,具體庫函數會自己加上讀寫方向

原创 nrf52832之ADC

ADC 1.8/10/12位,過採樣可達14位 2.單端(內部接地)(8個)和差分模式(最多4個),默認是單端模式 3.觸發方式,軟件觸發,rtc定時觸發,ppi觸發 4.外部引腳固定,不能隨意映射 5.單次模式,在沒有過採樣的時

原创 nrf52832之RTC

RTC概念 RTC:real time clock,可以直接讀取時間 RTC:real time counter,無法直接讀取時間的,單片機基本就是這種 RTC框圖 計數器遞增的頻率計算:32.768KHZ/(分頻+1)LFCL

原创 nrf52832之NVMC

內部flash相關 1.內部flash分佈 nrf52832 XXAA flash地址爲:0X0000 0000~0X0008 0000,總共512K,分爲128頁,每頁4K字節,每頁分爲8個塊,每塊512字節。雖然最小分佈單位

原创 nrf52832之timer

概述 1.nrf52832有5個定時器,timer0-timer4,可以配置爲16位,8位,24位,32位定時器,模式選擇就是指配置定時器還是計數器或者低功耗計數器,位寬則是配置成多少位的 2.時鐘框圖如下 3.根據時鐘頻率自動