原创 nrf52832之溫度測試

補碼和原碼轉換 #define MASK_SIGN (0x00000200UL) #define MASK_SIGN_EXTENSION (0xFFFFFC00UL) static __INLINE int32

原创 nrf52832之PPI

什麼是PPI 1.可編程外設互聯,把事件和任務連接起來,自動觸發任務,無需CPU參與。類似DMA效果 2.總共32個PPI通道,(0-19)供用戶編程使用,(20-31)已經預編程了,可以添加到組,可以打開或關閉 3.框圖如下所示

原创 nrf52832概述

nrf52832特點 1.具有32個IO口(P0.0-P0.31),每個都可以單獨訪問,M4內核 2.具有8個帶模擬通道的GPIO,可用於SAADC,COMP,LPCOMP輸入 3.可以配置輸入驅動強度,內部可以選擇上拉或者下拉

原创 nrf52832之GPIOTE

GPIOTE模塊 gpio無法把輸入設置爲中斷觸發,gpiote則可以。gpiote有8個通道,每個通道可以分配給1個引腳,此引腳可以是任務模式或者事件模式 gpiote任務模式可以置位,清零,翻轉io,優先級從高到低,假如同時發

原创 SDK15簡介

SDK目錄 components目錄 examples 所有的例子程序,10040對應52832,10040e對應52810,10056對應52840,10059對應52840 usb dongle

原创 SPI通信分析

基本概念 SPI是全雙工通信,高速 CS:片選信號,也叫NSS,有多個SPI從設備就需要多個CS,通常採用軟件方式控制 SCK:時鐘信號,決定通信速度 MOSI:主出從入 MISO:主入從出 接線的時候直接對接就可以,MISO和M

原创 nrf52832寄存器類型和外設資源共享

寄存器類型 1.task寄存器,執行輸出等 2.event寄存器,中斷 3.快捷寄存器,例如ppi,把task和event綁定,自動觸發任務,無需CPU參與 4.通用寄存器,和一般單片機五區別 外設資源共享 具有相同ID的只能使用

原创 nfr53832程序下載方式

裸機程序 1.直接mdk下載 2.j-flash下載 3.nrfgo下載 BLE程序 1.nrfgo下載,不過nrfgo速度有點慢 2.mdk下載,首先把target切換到協議棧,點擊下載協議棧bin文件(千萬不要點了編譯),然後

原创 nrf52832之UART和UARTE

UART特點 1.有6個硬件rx FIFO,發送沒有 2.OFF模式引腳配置 3.UARTE指的是帶easydma的UARTzh 4.註冊回調函數,裏面處理就可以

原创 ubuntu鼠標滾輪粘貼問題

鼠標滾輪 在ubuntu下開發時,經常莫名其妙多了一大段代碼,最終得知滾輪按下就是粘貼的意思 解決辦法如下: https://blog.csdn.net/Splinter116/article/details/81605106

原创 (十)藍牙MAC地址

BLE MAC地址分類 1.BLE設備可以使用公共地址和隨機地址,至少使用其中一種,也可以有兩種,地址的長度是6個字節。嚴格來說廣播中不用包含地址,默認已經有了 2.公共地址:從IEEE購買,保證唯一性 3.隨機靜態地址:自己

原创 (十一)RSSI接收信號強度

db與dbm RSS=10lgP P是功率,RSS是信號強度(靈敏度) 例1:如果發射功率p=1mv,帶入則爲0dbm 例2:對於40w的功率則,RSS=10lg(40w/1mv)=10lg(40000)=46dbm 無線信號的

原创 (六)APP 按鍵的使用

步驟 原理:通過APP軟件定時器和gpiote(IO中斷)輸入實現 1.先調用bsp_init初始化按鍵和LED燈,並提供回調函數。默認會根據按鍵動作(長,短按,釋放等)給按鍵分配事件 2.bsp_btn_ble_init初始化

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

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

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

什麼是profile profile就是配置文件,包含一個或者多個服務。分爲公有profile和私有profile 什麼是service 服務是一組特徵和通過他們所公開的行爲的集合,一個服務可以包含多個特徵。是用於組織數據傳輸的最