99国产精品欲av蜜臀,可以直接免费观看的AV网站,gogogo高清免费完整版,啊灬啊灬啊灬免费毛片

網易首頁 > 網易號 > 正文 申請入駐

無線開發板哪家強?工程師測給你看

0
分享至

▲ 更多精彩內容 請點擊上方 藍字 關注我們吧!

在物聯網應用中,無線是不可或缺的一環,而這些應用不僅對功耗很敏感,對于成本也很嚴格。目前,絕大廠商都有自己的無線MCU產品,每家無線MCU各具特色,也是競爭比較激烈的一塊市場。

不過,雖然說工程師選擇變多了,但也容易眼花繚亂。在實際開發中,也有會面對許多問題。今天,我們就“下了血本”,搞到一些形態各異的無線開發板,包括藍牙、Wi-Fi或者藍牙帶CAN的開發板,讓工程師實際上手試用產品,并給出自己的實際開發體驗。


Beetle ESP32 C6迷你開發板測評


作者:DavidZH

更多相關測評:https://www.eeworld.com.cn/a9yLaLG

開 箱

有幸獲得EEWORLD 的FireBeetle 2 ESP32 C6 Mini 開發板, 和一個一元硬幣的大小差不多,這么小的板子看看隱藏了多大的智慧;


一、板載資源了解

正面可以看見一個RST 復位按鍵+一個BOOT 按鍵,采用TYPE-C 口方式;反面則集成鋰電池充電管理芯片TP4057 和LDO RT9080;

通過資料了解FireBeetle 2 ESP32 C6 Mini 是采用樂鑫的ESP32C6 20MHZ 的WIFI 6 ,且支持TWT 的低功耗,因此板載的預留BAT 接口,可以對WIFI 6 的低功耗特性進行測試;

外圍的晶振配合電容組成了最小系統;


二、板載外設

麻雀雖小,五臟俱全;FireBeetle 2 ESP32 C6 Mini 雖然體積小,但外設資源卻不少;

如圖所示可以看出ADC, UART, I2C, SPI, JTAG.SDIO 都有,雖然采用復用,對于單獨進行驗證芯片還是不錯的選擇;


按照如上的外設資源進行逐個驗證。

三、 MCU 資源

FireBeetle 2 ESP32 C6 Mini 的最大特點是采用ESP32 C6, WIFI6 的特性中有TWT 的低功耗,相對于WIFI 4或者WIFI5 在IOT 的應用中有天然優勢;

另外該芯片支持多種協議,在后期進行Matter over wifi 或者Matter over Thread 也是不錯的選擇,但具體是否能有描述的這么第的功耗,需要進一步驗證;

  • 搭載ESP32-C6芯片,支持Wi-Fi、BLE、Zigbee、Thread通訊協議

  • 支持Wi-Fi 6協議,更低延遲,更低功耗

  • 超低功耗,deep-sleep 14uA

  • 集成鋰電池充電功能

  • 支持電池電壓檢測,了解設備電量信息

主控ESP32 C6 支持的無線 特性如下:

  • WIFI協議:IEEE 802.11b/g/n/ax

    • IEEE 802.11ax (20 MHz-only non-AP mode)

  • WIFI頻寬:2.4 GHz 頻帶支持 20 MHz 和 40 MHz 頻寬

  • WIFI模式:Station 模式、SoftAP 模式、SoftAP+Station 模式和混雜模式

  • WIFI頻率:2.4GHz

  • 幀聚合: TX/RX A-MPDU, TX/RX A-MSDU

  • 藍牙

  • 藍牙協議:Bluetooth 5、Bluetooth mesh

  • 藍牙頻率:125 Kbps、500 Kbps、1 Mbps、2 Mbps

目前依然是延續了樂鑫的產品,WiFi+藍牙的SOC; 對于是否支持WiFi的WPA3 加密,以及相關應用協議的支持和藍牙5 支持的應用有待探索。

Arduino 開發環境搭建

FireBeetle 2 ESP32 C6 Mini 采用的是樂鑫ESP32 C6 ,主要的開發環境有如下幾種;

  • ESP-IDF+VSCODE

  • ESP-IDF+Platform IO

  • Micropython 及其類似

  • Arduino

以上四種方式都可以對ESP32-C6 進行軟件開發和驗證, 主要看自己的熟悉程度;

以下以Arduino 為IDE 的開發環境進行搭建;主要是官方和第三方都有非常多庫可以直接用;

一、安裝Arduino 開發環境;

在Arduino 官方下載,選擇V2.3 以上版本,否則無法支持到ESP32 C6 芯片;

二、安裝ESP32-C6 的相關支持;

在開發板中選擇ESP32 然后安裝3.0 的版本;3.0 的版本才支持ESP32 C6, 更新會花費很長時間, 由于網絡原因可能要很久;

可以在Windows 的Microsoft store 中安裝Watt Tookit 工具,可以加速, 具體功能自行研究。


三、Arduino 的配置:

將Beetle ESP32 C6 Mini Mini 通過TypeC 口與PC 相連;打開Arduino 后進行配置;

1、選擇開發板類型和COM 口;


在文件-示例中可以看見相關例子;


在工具中有燒錄的相關配置,一般默認就可以;


新建工程BeetleESP32C6 保存;會出現:BeetleESP32C6 和libraries 文件夾,前者放ino 的編程文件, 后者放庫文件(IDE 自己安裝的庫或者第三方庫都可以)

工程文件:


點擊下載,即可以完成將生成的可執行文件下載到ESP32 C6;


我們可以發現Arduino 的工程目錄下并沒有生成可執行文件, 需要進行如下操作;

在工具-導出已經編譯的二進制文件;


此時在工作目錄下就有生成相應的可執行文件;可以采用樂鑫的官方工具進行燒錄;


還有就是如果按照官方的開發板支持包,可以在Arduino 中直接尋找,不用在網上胡亂搜索;在首選項->其他開發板管理;


連接Beetle ESP32 C6 Mini 與USB 轉UART 功能;


外設之 SPI 驅動ST7789 TFT

Beetle ESP32 C6 Mini 的SPI 外設有一組硬件的資源如下:

SCK->GPIO23

MOSI->GPIO22

MISO->GPIO21

CS 則可以設計為任何其他GPIO 管腳;


對于TFT 屏幕驅動,一般會選擇LVGL+TFT_eSPI 實現,通過查詢可以知道TFT_eSPI 目前還沒有支持到Esp32-C6 所有直接采用ST7789 庫來驅動。

總結:對于驅動屏幕而言,最好是采用RTOS+GUI 進行事件調度。


N32WB45xL-EVB全功能評估板測評


作者:yang8555u

更多相關測評:https://www.eeworld.com.cn/aKqnjr5

一、開箱

前幾日收到了寄過來的開發板,今日終于有空來做一個開發板的分享。
拆開快遞后,是一個印有國民技術商標的白色紙盒,內附國民技術的開發板N32WB452一枚及配件USB-A轉USB MINIUSB連接線。


包裹的紅色泡沫棉我已經去掉啦,開發板到手很開心,開箱圖如下:


可以看到開發板已經板載了NS-LINK調試器(在左下角),左側中部區域則是開發板的主控,N32WB452LEQ6,QFN88腳封裝。板子上還自帶藍牙天線、觸摸按鍵、多路LED燈、蜂鳴器、SPI-FLASH、電位器等一系列外設,方便用戶評估開發板的各項外色號,如GPIO,I2C,SPI,BLE,UART等等。N32WB452LEQ6作為一個雙核MCU,為M4+M0的架構,主頻最大可達144MHz,144KB的RAM和512KB的ROM,可謂資源豐富,非常適合做智能指紋鎖、藍牙網關等應用。

開發板正面圖如下:


開發板反面圖如下:


二、下載配套資料

在國民技術的FTP站點中(ftp://58.250.18.138),可以下載N32WB452的各項資料。
以WIN10為例,在此電腦中添加網絡位置


點擊后,填寫ftp://58.250.18.138/:


一路點下來,并命名好,即可看到文件夾:


開發板的相關資料在ftp://58.250.18.138/國民技術產品資料/無線連接產品/N32WB452xx_V2.0.0


將其復制到本地電腦中即可。

三、運行例程

keil默認大家都會裝,就不再說明,本次我用的是MDK 5.37版本。
在如圖所示目錄中,安裝開發板的Keil支持包,即Nationstech.N32WB452_DFP.1.0.3.pack


安裝完畢后,打開RT-Thread例程,RT_Thread1_ThreadCreation,雙擊工程文件,并運行:


在左側APP目錄中,添加printf打印函數,以方便觀察程序運行時間


在使用USB數據線連接開發板后,編譯并下載至開發板,即可看到D1/D10兩個LED燈交替閃爍,并在串口調試助手中有數據打印出:


串口助手界面:


成功!例程已經成功運行在開發板上了!

在RT-Thread完整版中點燈及ADC的使用

上一次發帖,我曾經請教過論壇里的各位,想試圖找到N32WB452的RT-Thread的完整版系統SDK,可惜收獲的回答是No。在獲得這個回答后,曾考慮過移植RT-Thread到N32WB452上,但發現,RTThread的官方移植的N32G457的SDK也是可以直接下到N32WB452里的,個人推測因為都是國民技術的芯片,且寄存器、處理器內核都是一樣的,所以能通用。當然了,N32WB452對比N32G457,多出了藍牙外設,藍牙外設的有關例程暫時只支持keil,不支持RT-Thread Studio,我嘗試移植藍牙組件到RT-Thread SDK下使用,暫時沒有成功,因為牽涉到太多文件的修改,這個就放在后期再做嘗試。

回到主題,本期及后幾期帖子,都會評測RT-Thead在N32WB452上的相關運行實驗。

##一、創建工程
在RT-Thread官網,下載RT-Thread Studio,并在SDK管理器中,下載N32G45X的開發板支持包,如圖所示:


下載完成后,即可創建RT-Thread新工程,如圖:


##二、修改工程文件
在board.h中,修改FLASH大小為512,如圖:


打開drv_gpio.c文件,將PIN_NUBERS一欄由64改為100,否則,某些引腳我們想使用的時候將找不到,如圖:


##三、GPIO的使用
參考N32WB452的原理圖,可以知道在開發板中央的四個LED燈D1/D10/D11/D12和輕觸按鈕K04的位號及對應連接的引腳,考慮到使用方便,我們將其在main.c中預先聲明。

可見我們已經聲明了對應的引腳,這些對應數字的來源請參考drv_gpio.c中的定義。

接下來就是以RT-Thread的PIN設備的方法進行點燈,首先設置D12引腳為輸出模式,然后在while循環中,不斷重復引腳高電平與低電平。延時設定為200毫秒切換一次,如果需要修改,修改speed變量即可。D1/D10/D11點燈的方式與D12一致,便不再贅述。

##四、ADC的使用
關于RT-Thread的ADC,咱還沒整明白,所以這部分依舊采用N32的官方庫函數進行開發。

本次ADC的測量,是測量開發板板載的電位器的電壓,電位器的位號為RP1,通過查詢原理圖,我們可以得知電位器的ADC測量引腳為PB2。

則在庫函數中,初始化并配置PB2引腳,并以0.5秒的頻率不斷輸出ADC的測量值,及對應轉換的電壓(不準,離萬用表測量的電壓有20-40mv的偏差)。

在RT-Thread中使用I2C讀取溫濕度傳感器數據

本期主題是通過RT-Thread的I2C API,對板載的HDC2010溫濕度傳感器讀取數據和手頭上自備的一個HDC1080溫濕度傳感器讀取數據。

默認N32的工程已經創建好,就不再重復描述。

#一、I2C配置
在工程根目錄,打開RT-Thread Settings,如圖:


打開后,開啟軟件模擬I2C選項,如圖:


在硬件菜單配置中,使能軟件模擬的I2C1,并設定引腳為47腳和48,如圖:


(該引腳的來由是板載的溫濕度傳感器HDC2010對應的I2C2_SDA/I2C2_SCL引腳,并參考drv_gpio.c)。
在開發板上J24/J23處,安裝短路帽。

#二、HDC2010溫濕度傳感器驅動編寫
參考HDC2010的官方手冊,鏈接為:http://www.ti.com/cn/lit/gpn/hdc2010 。HDC2010的濕度精度為±2%,溫度精度為典型值 ±0.2°C,算是性價比很高的一款器件。


在手冊中,列出了HDC2010的I2C地址,我們右移一位后可得通信I2C地址為0x40(RT-Thread可自動移位地址以完成讀寫)


手冊中詳細羅列了I2C讀取的時序、操作。


在7.6章節,可以看到公開的寄存器地址及其說明,在本次實驗中,我們需要的用到溫度相關寄存器,濕度相關寄存器,配置相關寄存器,器件ID相關寄存器。其他寄存器暫未用到。


7.6.2章節,介紹了溫度值轉換實際溫度的轉換公式,如圖:


7.6.3章節,介紹了濕度值轉換實際溫度的轉換公式,如圖:


7.6.17章節,介紹了配置的各個選項及其說明,如圖:


在充分閱讀手冊后,我們的HDC2010驅動編寫將會更加得心應手。


雅特力AT32WB415系列測評


作者:KING_阿飛

更多相關測評:https://www.eeworld.com.cn/aC04GuL

在FreeRTOS中點燈

很榮幸能獲得雅特力AT32WB415系列藍牙BLE 5.0 MCU的評測機會,為此按照我以前的評測的習慣,附上我的Github:,所有評測代碼均開源分享。

一、了解板子資源

雅特力的單片機,這次是我第一次使用,按照我之前的經驗。一定要去看數據手冊,這個很重要。資料地址:雅特力科技 : 32位微控制器的創新領導者! (arterytek.com) 相比其他國產MCU廠商,雅特力的資料庫十分齊全,便于我們開發,這里給雅特力點贊


我們知道在這次給我送測的板子,是板載下載器的。


具體的芯片資源,我就不在這里給出,感興趣的小伙伴可以去官網查看。

二、移植FreeRTOS

  1. 我們首選下載FreeRTOS的源文件,我們可以去FreeRTOS的官網下載:https://www.freertos.org 也可以在官方給的中間件中找到對應的源文件,這里我使用官網下載的最新源碼包(FreeRTOS LTS 202012.04)進行移植。

  2. 然后在,keil中添加文件FreeRTOS的文件,將相關文件添加。注意:內存那里我們懸著heap_4,雖然我們芯片是ARM-M4帶MPU,但是不支持FPU,所以我們這里使用CM3的port。


3.還要再添加一個FreeRTOSConfig.h文件,可以去Github上面看我的(My_AT32WB415_Demo\Middlewares\freertos\FreeRTOS\FreeRTOS-Kernel\include)。

4.最后記得把FreeRTOS的頭文件引入。

三、點燈

代碼大家直接去Github上面就可以看到,在這里我就不放出。

移植MCU控制藍牙,藍牙固件燒錄

一、藍牙固件代碼燒錄

雅特力AT32WB415是合體芯片,一個MCU加一個藍牙,中間連接了一個串口,帶2個UART, 其中UART21與MCU USART3連接。我們可以通過ArteryICPProgrammer這個軟件燒入固件代碼。這里我用到的版本是V3.0.03,第一次下載請給AT-Link固件升級一下,這個軟件就可以升級。


頁面中 第一個固件就是藍牙的,另一個就是我們MCU的固件。

官方的藍牙固件包在其頁面下就可以找到雅特力科技 : 32位微控制器的創新領導者! (arterytek.com)


該工程是ARM9的工程,需要安裝Legacy Support才能夠編譯, 用戶可根據自己的環境在以下

路徑進行下載: www2.keil.com/mdk5/legacy,這里我把我編譯的bin文件放在倉庫中,大家需要的可以自取。

官方文件中的指南里面就講的比較清楚,我在這里不過多贅述。講幾個需要注意的點:藍牙的地址是0x000000的、在復位是應該有一個時序的問題,需要先復位MCU在復位藍牙、我們手機的藍牙必須使用類似LightBlue這類的軟件才可以連接,直接是無法連接上,這部分我也沒有涉及過,屬于知識盲區了。希望有人可以在這方面研究一下。

二、MCU代碼的移植

其實在,官方里面的文檔也寫了,我們沒必要繼續重復造輪子了(其實就是懶)


具體的移植步驟就不多說,也比較簡單,有問題可以在評論區提出。這里講一些我在移植過程中的問題,這樣的效果更好。

FreeRTOS卡死:在Debug發現會一直等待,研究發現是官方的at32_button_press這個按鍵檢測的函數里面的延時是delay_ms,這里我改成FreeRTOS里面的延時。


所有的代碼我也不在這里放出來了,全部在Github上有,而且能夠看到每次的變化,也知道我添加了哪些文件。

WDT 看門狗分析及應用

一、看門狗

看門狗由一個12位的遞減計數器和一個8位的預分頻器所組成,它由低速內部LICK提供時鐘;因為這個時鐘獨立于主時鐘,所以它可運行于深睡眠和待機模式。它可以被當成看門狗用于在發生錯誤時復位整個系統,或作為一個自由定時器為應用程序提供超時管理。通過用戶系統數據可以配置看門狗是否自啟動。在調試模式下,計數器可以被凍結。



我們關注一下命令寄存器和重裝載寄存器。



我們再看一下,喂狗超時時間計算,先看一張表:


再看計算公式:


安信可藍牙開發板PB-02-Kit 測評


作者:jinglixixi

更多相關測評:https://www.eeworld.com.cn/a0enfTK

開箱上電

安信可PB-02-Kit藍牙開發板是基于安信可PB-01模組而開發的,主打目標是智能照明。PB-02-Kit自帶板載天線,RGB燈珠和冷暖燈珠,以供開發者調節和測試。

PB-02-Kit支持BLE Mesh組網,支持使用AT指令,支持SDK二次開發,支持天貓精靈語音直連控制,支持安卓/IOS APP控制以及微信小程序控制。

PB-02共有六路 PWM,可自行調節 RGB七彩燈和兩路冷暖燈珠調節,并將模組的全部可用 IO 以排針的方式引出,以便于開發者的開發和調試。

此外,它集成豐富的資源,包括 AT 指令、SDK 二次開發,支持藍牙 mesh 組網,以及安卓/IOS APP控制以及微信小程序控制,還支持天貓精靈語音直連控制;多個開發板互聯,可用于 Mesh 組網調試,2.54mm 排針引出全部 GPIO/PWM/SPI/ADC 等接口,可自由搭配外設。

在軟件開發方面,它支持以Keil進行開發,并提供UART 接口來燒錄固件。

該開發板配備的硬件資源有:

1)標準 micro USB

2)以2.54mm 間距排針來提供 PWM/SPI/GPIO/ADC 接口

3)自帶 R/G/B 三合一燈珠和冷/暖燈珠

4)自帶復位按鍵和1個用戶按鍵

開發板的幾何尺寸為30mm(W)*45.5mm(H),外觀如圖1和圖2所示。


圖1開發板正面


圖2開發板背面

開發板各管腳的功能定義為:

序號

引腳名稱

功能說明

1

ANT

天線引腳(注:PB-02 默認用的板載天線,無需外接)

2

RST

復位

3

P20

GPIO20,所有功能均可配置/ AIO /麥克風偏置輸出 *注:不支持中斷功能

4

P18

GPIO18,所有功能均可配置/ AIO / PGA 差分正輸入 *注:不支持中斷功能

5

P23

GPIO23,所有功能均可配置 *注:不支持中斷功能和ADC 功能。

6

SW1

6 SW1 GPIO24,所有功能均可配置/測試模式啟動配置[0]。

7

SW2

GPIO25, 所有功能均可配置/測試模式啟動配置[1], 此引腳 高電平上拉,開機啟動進入測試模式。

8

P31

GPIO31,所有功能均可配置 *注:不支持中斷功能和 ADC 功能

9

P14

GPIO14,所有功能均可配置/ AIO

10

P15

GPIO15,所有功能均可配置/ AIO

11

P34

GPIO34,所有功能均可配置 *注:不支持中斷功能和 ADC 功能

12

P00

GPIO00,所有功能均可配置/ JTAG_TDO *注:不支持 ADC 功能

13

P01

GPIO01,所有功能均可配置/ JTAG_TDI *注:不支持 ADC 功能

14

P02

GPIO02,所有功能均可配置/ JTAG_TMS *注:不支持 ADC 功能

15

P03

GPIO03,所有功能均可配置/ JTAG_TCK *注:不支持 ADC 功能

16

TM

燒錄模式選擇,此引腳高電平上拉,開機啟動進入燒錄模式

17

TXD

串口 URAT_TXD

18

RXD

串口 URAT_RXD

19

GND

接地

20

3V3

電源供電,典型值 3.3V

那么上電后什么現象呢?

結果是沒有什么變化,即使是電源指示燈被點亮也沒有。


圖3上電效果

隨后又查看了一下原理圖,還別說就是沒有電源指示燈!


圖4開發板原理圖

還能指望啥呢?

看設備管理器吧,還別說有一個虛擬出的串口,見圖5所示。


圖5虛擬串口

這個串口又會帶來啥信息呢?

設置好參數并打開串口,所給出的信息也不過如此,見圖6所示。


圖6上電效果

AT指令測試

在初始的開發板上是支持AT指令測試的,只用借助串口調試工具即可。

1) AT指令

AT 指令可以細分為三種格式類型:

類型

指令格式

描述

查詢指令

AT+ ?

查詢命令中的當前值。

設置指令

AT+ =<…>

設置用戶自定義的參數值。

執行指令

AT+

執行某些參數不可變的功能。

當只輸入“AT”指令,則返回“OK”,見圖1所示。


圖1“AT”指令

2) 查詢名稱

使用“AT+NAME?”指令可進行名稱查詢,返回的內容為“ai-Thinker”,見圖2所示。


圖2查詢名稱

3) 開關回顯

使用“ATE0”指令可關閉回顯,用“ATE1”指令則打開回顯,指令的執行結果如圖3和圖4所示。

注:打開回顯 (參數將會保存到芯片內,下次上電無需再行設置。)


圖3關閉回顯


圖4打開回顯

4) 重啟模組

使用“AT+RST”指令可重啟模組,其返回內容如圖5所示。


圖5重啟模組

5) 設置睡眠模式

睡眠模式共有3種模式,即:

0:進入淺睡眠并且下次上電不會自動進入淺睡眠狀態(AT+SLEEP=0)

1:進入淺睡眠并且下次上電會自動進入淺睡眠狀態

2:進入深度睡眠模式

在進入深度睡眠模式后會將模塊RX設為喚醒引腳,UART發送任意數據即可喚醒模塊。

注:進入深度睡眠模式后模組將不能收發數據

使用“AT+SLEEP”指令可設置睡眠模式,其返回內容如圖6所示。


圖6設置睡眠模式

遺憾的是,對于其它的指令幾乎就沒有什么相應了。例如對波特率的設置,則會出現報錯,什么對波特率是不能設置的。


圖7波特率設置

在用1_COMAT_V1008.hexf更新了固件后,所支持的指令明顯得到增加,見圖8至圖10所示。


圖8HELP指令


圖9 GMR指令


圖10查詢波特率

串行通訊及使用

串行通訊是一種主要的數據傳送方式,也是在沒有顯示器件的情況下僅有的調試觀察手段。

1. 串口通訊的初始化

要使用串口通信必須對串口進行初始化,其初始化的函數為:

int hal_uart_init(uart_Cfg_t cfg)
{

if(m_uartCtx.enable)

return PPlus_ERR_BUSY;

memset(&m_uartCtx, 0, sizeof(m_uartCtx));

if(cfg.hw_fwctrl)

return PPlus_ERR_NOT_SUPPORTED;

m_uartCtx.cfg = cfg;

uart_hw_config();

m_uartCtx.enable = TRUE;

hal_pwrmgr_register(MOD_UART, NULL, uart_hw_config);

return PPlus_SUCCESS;

}

2.字節數據發送

在串口通信中,最主要的函數是字節數據發送,它可以解決常規print函數所不能解決的問題,因為print函數所輸出的內容通常是字符型的,而進行外設控制其指令多是二進制的指令,為此只有字節數據發送函數可以解決此類問題。

使用該函數可產生下圖所示的輸出效果,說明發送字節數據成功。


有了發送字節數據的基礎,要想用其控制MP3語音播放模塊便也不難了,只需將控制指令存放到數組中,然后按序輸出即可。

當然,在輸出字符串類的信息時還是使用LOG比較方便。


SparkFun Pro nRF52840 Mini藍牙開發板測評


作者:御坂10032號

更多相關測評:https://www.eeworld.com.cn/ar5yT8O

開箱及其搭建開發環境

大家好,很榮幸能夠獲取到這次來之不易的測評機會。由于快遞原因我是在21號拿到這個板子的。 昨天研究了一下如何搭建開發環境。今天就整理了一下給大家做一個開箱和搭建環境的教程.

這篇報告包括以下兩個部分:

  1. 開箱

  2. 搭建開發環境(這款開發板實際上中文資料不是很多。所以在花費了一些時間來整理資料)

正面照


背面照:


這款開發板的內核時基于Arm Cortex-M4. 具有1MB的Flash 和 256K的Ram. 同時支持低功耗藍牙。以及藍牙5的Mesh. 同時支持USB模式。 外設提供了對UART 和 I2C以及SPI,ADC. PWM,RTC 和PWM的支持。數據參考

這款開發板還是非常小巧的,上電后需要手動將開關撥動到On。這時芯片才會正常工作,同時這個開發板提供了一個外部供電的小插槽,可以非常方便的使用電池供電,比如一節18650電池。電壓范圍在2.5到3.6V


環境搭建

本文默認你已經安裝好了Arduino IDE

SparkFun Pro nRF52840 Mini藍牙開發板 ADC

Arduino實現ADC的功能非常簡單,所以近幾篇類似IIC,USART,SPI等外設的功能。我們都快速實現。并且使用對應協議的傳感器來實現Demo功能。

今天要實現的是使用這塊開發板上的ADC功能來讀取氣體質量傳感器的電壓輸出,并且通過串口發送給上位機。

根據原理圖得知, 這款開發板上一共有8個Pin可以用于ADC的輸入,如下圖所示


數據手冊上也是清楚的說明了當前的ADC,大意是說,12位的ADC具有8個通道


接下來我們開始編碼部分。Sparkfun其實也為我們提供了Demo示例。通過下圖我們可以打開官方提供的demo


SparkFun Pro nRF52840 Mini 藍牙鍵盤

本章我們將學習如是使用SparkFun Pro nRF52840 Mini 來快速構建一個HID設備藍牙鍵盤。

在開始之前,說一句題外話。 不得不說這個nRF52840 的Arduino庫實在是太好用了, 如果自己DIY的話,非常推薦購買這個芯片的單片機來DIY具有藍牙功能的作品。

在上章節我們已經詳細的介紹了如何使用SparkFun Pro nRF52840 Mini實現藍牙數據的發送,那么本節我們看下如何基于上節的代碼實現藍牙鍵盤的功能

本章提供的代碼是一個演示使用nRF52840模塊的HID鍵盤應用程序的示例。HID鍵盤在各種電子設備中廣泛使用,從計算機到智能手機,為用戶提供無縫的輸入體驗。

功能:

  1. 藍牙連接: 代碼建立了BLE連接,使Bluefruit52模塊能夠與其他藍牙設備進行無線通信。

  2. HID鍵盤仿真: 通過HID功能,模塊可以仿真標準鍵盤,從而向連接的設備發送按鍵信息。

  3. LED控制: 代碼包括根據連接設備發送的命令來控制LED的功能,展示了雙向通信的可能性。


實現:
  1. 設置:

  • 代碼初始化Bluefruit模塊,并設置必要的BLE服務,包括設備信息服務(DIS)和HID。

  • 它配置廣告數據包以宣布HID鍵盤服務,并開始廣告以進行設備發現。

  • 連接間隔和功率設置經過優化,以實現性能和兼容性。

主循環:

  • 循環檢查來自串行監視器的鍵盤輸入。當輸入字符時,它將使用HID功能將其作為按鍵發送。

  • 代碼處理按鍵按下和釋放,確保鍵盤行為正常。

回調:

  • 定義一個回調函數來回顯當前的藍牙連接狀態。

接下來我將介紹如何實現上述涉及的功能

設置:

我們可以保留上節的大部分功能函數,僅僅需要在初始化藍牙連接之后,初始化HID設備


上圖為對比HID的初始化和沒有HID的初始化。左側為帶HID設備的初始化,右側為僅僅只有藍牙功能的初始化。而實現這么多功能只需要引入bluefruit.h 庫, bluefruit.h 內封裝了我們所需的所有功能

主循環:

在程序的主循環中,程序會一直從串口檢測是否有數據輸入,如果有數據輸入的話,則把數據的輸入作為鍵盤的輸入。并且發送的遠程的藍牙設備同時改變按鍵的按下狀態,使其在下一次循環的時候釋放這個按鍵并且等待下一次按下。

void loop()

{

// Only send KeyRelease if previously pressed to avoid sending

// multiple keyRelease reports (that consume memory and bandwidth)

if ( hasKeyPressed )

{

hasKeyPressed = false;

blehid.keyRelease();

// Delay a bit after a report

delay(5);

}

if (Serial.available())

{

char ch = (char) Serial.read();

// echo

Serial.write(ch);

blehid.keyPress(ch);

hasKeyPressed = true;
// Delay a bit after a report

delay(5);

}

setKeyboardLedCallback function主要是用于藍牙的狀態顯示,當藍牙未連接的時候,LED會一直處于閃爍狀態。當藍牙連接成功之后LED將停止閃爍。

歡迎將我們設為“星標”,這樣才能第一時間收到推送消息。

領領取自動駕駛、輔助駕駛等方面免費資料包!

掃碼添加小助手回復“進群”

和電子工程師們面對面交流經驗

特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相關推薦
熱點推薦
穩,開局良好看信心

穩,開局良好看信心

人民網
2025-04-27 05:54:10
丈夫升為縣長后有了新歡,拋棄我三年后,我的哥哥調來任市委書記

丈夫升為縣長后有了新歡,拋棄我三年后,我的哥哥調來任市委書記

喬生桂
2024-04-15 09:21:03
假吃就別演了!看《蠻好的人生》孫儷吃點心,讓多少演員臉紅

假吃就別演了!看《蠻好的人生》孫儷吃點心,讓多少演員臉紅

草莓解說體育
2025-04-27 00:45:00
C羅亞冠進球晉級又坐廣告牌,皇馬需要如今的C羅么?

C羅亞冠進球晉級又坐廣告牌,皇馬需要如今的C羅么?

耀陽體育
2025-04-27 13:20:21
被揍0-7,韓媒炮轟:亞冠已喪失公平+淪為沙特玩物 中立場地=笑話

被揍0-7,韓媒炮轟:亞冠已喪失公平+淪為沙特玩物 中立場地=笑話

我愛英超
2025-04-26 18:16:18
京晉大戰傷情爆滿!周琦出戰存疑,曾凡博帶傷,山西傷兵滿營!

京晉大戰傷情爆滿!周琦出戰存疑,曾凡博帶傷,山西傷兵滿營!

籃球資訊達人
2025-04-27 13:30:30
志愿軍老兵: 最怕被朝鮮婦女抓去給生孩子

志愿軍老兵: 最怕被朝鮮婦女抓去給生孩子

霹靂炮
2025-04-25 23:49:32
特朗普變本加厲,開出降稅條件,施壓中國必須讓步,中方十字表態

特朗普變本加厲,開出降稅條件,施壓中國必須讓步,中方十字表態

國際阿嘗
2025-04-27 12:04:25
全新奔馳GLC要來了!外形大改、增純電版,快抄底現款?

全新奔馳GLC要來了!外形大改、增純電版,快抄底現款?

優視汽車
2025-04-26 20:37:35
俄外長:俄不會在俄美就烏克蘭問題談判結束前透露談判進程

俄外長:俄不會在俄美就烏克蘭問題談判結束前透露談判進程

財聯社
2025-04-26 14:42:08
網友網上不停嘲諷死者家屬,被人懷疑是兇手林少波

網友網上不停嘲諷死者家屬,被人懷疑是兇手林少波

映射生活的身影
2025-04-26 11:15:44
被湯唯首爾穿搭驚艷到!黑灰配色演繹高級感

被湯唯首爾穿搭驚艷到!黑灰配色演繹高級感

述家娛記
2025-04-26 19:50:06
時隔近五年重要調整!財政部、證監會聯合發文

時隔近五年重要調整!財政部、證監會聯合發文

21世紀經濟報道
2025-04-27 12:53:45
王勵勤“第一把火”燒向林高遠有什么意義?

王勵勤“第一把火”燒向林高遠有什么意義?

紅原體育
2025-04-27 10:38:38
一個人廢掉的最大原因:執行間隙太長

一個人廢掉的最大原因:執行間隙太長

洞見
2025-04-14 22:03:14
痛心!廣東玩具廠老板娘去世,長相漂亮與丈夫打拼18年,育有2娃

痛心!廣東玩具廠老板娘去世,長相漂亮與丈夫打拼18年,育有2娃

娛樂洞察點點
2025-04-26 15:15:29
瑾汐接到二姐,直接掛二姐身上不放開,全家計劃五一去看養父母!

瑾汐接到二姐,直接掛二姐身上不放開,全家計劃五一去看養父母!

明月聊史
2025-04-27 13:04:37
同樣是訂婚強奸案,山西和山東的法院作出截然不同的判決

同樣是訂婚強奸案,山西和山東的法院作出截然不同的判決

清暉有墨
2025-04-26 13:39:52
董女士的格力不聘用留學生論,炸出來好多中介和海外小博主。

董女士的格力不聘用留學生論,炸出來好多中介和海外小博主。

阿鳧愛吐槽
2025-04-27 09:42:42
湖人又一心頭刺上線!1.36億3D王牌轟30+5,雷迪克:打爆了我們

湖人又一心頭刺上線!1.36億3D王牌轟30+5,雷迪克:打爆了我們

李喜林籃球絕殺
2025-04-26 14:59:48
2025-04-27 14:28:49
EEWorld電子工程世界 incentive-icons
EEWorld電子工程世界
即時參與討論電子工程世界最火話題,搶先知曉電子工程業界資訊。
171文章數 14關注度
往期回顧 全部

科技要聞

賈躍亭:FF市值到百億美元能基本還完債務

頭條要聞

媒體:特朗普欲"棄車保帥" 與馬斯克正在加速分道揚鑣

頭條要聞

媒體:特朗普欲"棄車保帥" 與馬斯克正在加速分道揚鑣

體育要聞

裝死一個賽季,卡皇掀翻了棺材板

娛樂要聞

24歲女星夏依丹離世!死因讓人心碎

財經要聞

商務部等6部門:下調離境退稅起退點

汽車要聞

上海車展采訪外國友人 他們最愛的都是什么車?

態度原創

手機
家居
數碼
房產
公開課

手機要聞

三星Galaxy Z系列折疊屏大改 尺寸更薄電池更大

家居要聞

明亮溫馨 質感且奢華

數碼要聞

電競顯示器線上銷量TOP10出爐:HKC銷量冠軍 小米第7

房產要聞

教育理念再進階!解碼新世界星輝如何構筑「家校社成長生態圈」!

公開課

李玫瑾:為什么性格比能力更重要?

無障礙瀏覽 進入關懷版 主站蜘蛛池模板: 宁阳县| 新野县| 富源县| 永清县| 双桥区| 南宫市| 田阳县| 镇安县| 南陵县| 奎屯市| 靖江市| 元朗区| 梅河口市| 武川县| 崇义县| 阿合奇县| 上犹县| 江都市| 邵阳市| 英德市| 射洪县| 杂多县| 五峰| 长海县| 巨野县| 韶山市| 衡南县| 瑞安市| 濮阳市| 成武县| 锦州市| 西乌珠穆沁旗| 平定县| 武川县| 周至县| 长武县| 武冈市| 梅河口市| 河间市| 临城县| 贞丰县|