亚洲av成人精品日韩一区,97久久久精品综合88久久,玩弄japan白嫩少妇hd,亚洲av片不卡无码久久,玩弄人妻少妇500系列

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

【RTT大賽作品連載】基于AB32VG1 sdk BLE例程

RT-thread ? 來(lái)源:RT-thread ? 作者:RT-thread ? 2021-12-06 09:07 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

【AB32VG1開(kāi)發(fā)】基于RT-Thread 中科藍(lán)訊AB32VG1 bluetrum_sdk BLE開(kāi)發(fā)例程講解


中科藍(lán)訊最近出的SDK(bluetrum_sdk) V1.1.0,支持了BLE開(kāi)發(fā),目前官方還沒(méi)有正式文檔,我來(lái)摸索一下吧


安裝最近SDK

操作步驟詳細(xì)請(qǐng)參閱: 基于RT-Thread的AB32VG1開(kāi)發(fā)環(huán)境搭建

poYBAGGuFZ6ALDtCAAK3VpadgEM069.pngSDK

選擇中科藍(lán)訊AB32VG1開(kāi)發(fā)板最新SDK(bluetrum_sdk) 1.1.0安裝

建RT-Thread工程

操作步驟詳細(xì)請(qǐng)參閱: 基于RT-Thread的AB32VG1開(kāi)發(fā)環(huán)境搭建
注意選擇最新SDK 1.1.0

poYBAGGuFc6AeL5oAANZyV66ddU436.pngAB32

配置工程

操作步驟詳細(xì)請(qǐng)參閱: 基于RT-Thread的AB32VG1開(kāi)發(fā)環(huán)境搭建
配置詳情如下:

poYBAGGuFeuAQoGdAAF43GqPo6Q408.pngAB32 config

開(kāi)啟:

宏: [SOC_AB32VG1]
宏: [PKG_USING_BLUETRUM_NIMBLE]
宏: [BSP_USING_TIM](這后面加的,因?yàn)槌霈F(xiàn)這個(gè)了定時(shí)報(bào)告數(shù)據(jù)時(shí)運(yùn)行錯(cuò)誤:(rt_object_get_type(&timer->parent) == RT_Object_Class_Timer) assertion failed at function:rt_timer_stop, line number:502 )我以為加上TIMER模塊,就加了,但是還是沒(méi)解決。

配置后,保存會(huì)出現(xiàn)錯(cuò)誤:local variable 'get_git_root' referenced before assignment Operation failed.這里不管它,編譯時(shí)看看具體是哪里同, 我們?cè)傩薷摹?/p> poYBAGGuFjmAJisiAAEOci3nUzI499.png

修改代碼

首先熟悉一下BLE_SDK代碼目錄:

pYYBAGGuFkyAVHt4AADSzV2P1zk270.png

修改mac_addr

工程目錄下:

packages\bluetrum_sdk-latest\bluetrum_nimble\porting\npl\rtthread\src\ble_platform.c
pYYBAGGuFqCAdcXqAAI-ImxrZGE127.png

我修改如下:

void bt_get_local_bd_addr(uint8_t *addr)
{
    uint8_t addr_table[6] = {0x41, 0x42, 0x18, 0x58, 0x68, 0x88};  //mac_addr是6bytes, SDK代碼里只寫(xiě)了5個(gè)數(shù)據(jù)
    memcpy(addr, addr_table, 6);
}

注意:mac_addr是6bytes, SDK代碼里只寫(xiě)了5個(gè)數(shù)據(jù),這是疏漏還是有意為之

修改BLE_name(名字)

工程目錄下:

\packages\bluetrum_sdk-latest\bluetrum_nimble\apps\blehr\src\blehr.c
pYYBAGGuFs6AetRpAAEfpKAgvm8475.png


我修改如下:

static const char *device_name = "Silicon_blehr_sensor";

注意:不能是中文,中文會(huì)找不到設(shè)備    

修改服務(wù)及設(shè)備信息

工程目錄下:
packages\bluetrum_sdk-latest\bluetrum_nimble\appsblehrsrc

pYYBAGGuFv-Ab9HBAANKkyju3eg538.png


我修改如下:

static const char *manuf_name = "谷動(dòng)谷力";  //Sunshine Silicon";可以中文,但長(zhǎng)度限制了,沒(méi)有找到哪里限制了
static const char *model_num = "SunSilicon HR Sensor";

static const struct ble_gatt_svc_def gatt_svr_svcs[] = {
    {
        /* Service: Heart-rate */
        .type = BLE_GATT_SVC_TYPE_PRIMARY,
        .uuid = BLE_UUID16_DECLARE(GATT_HRS_UUID),
        .characteristics = (struct ble_gatt_chr_def[]) { {
            /* Characteristic: Heart-rate measurement */
            .uuid = BLE_UUID16_DECLARE(GATT_HRS_MEASUREMENT_UUID),
            .access_cb = gatt_svr_chr_access_heart_rate,
            .val_handle = &hrs_hrm_handle,
            .flags = BLE_GATT_CHR_F_NOTIFY,
        }, {
            /* Characteristic: Body sensor location */
            .uuid = BLE_UUID16_DECLARE(GATT_HRS_BODY_SENSOR_LOC_UUID),
            .access_cb = gatt_svr_chr_access_heart_rate,
            .flags = BLE_GATT_CHR_F_READ,
        }, {
            0, /* No more characteristics in this service */
        }, }
    },

    {
        /* Service: Device Information */
        .type = BLE_GATT_SVC_TYPE_PRIMARY,
        .uuid = BLE_UUID16_DECLARE(GATT_DEVICE_INFO_UUID),
        .characteristics = (struct ble_gatt_chr_def[]) { {
            /* Characteristic: * Manufacturer name */
            .uuid = BLE_UUID16_DECLARE(GATT_MANUFACTURER_NAME_UUID),
            .access_cb = gatt_svr_chr_access_device_info,
            .flags = BLE_GATT_CHR_F_READ,
        }, {
            /* Characteristic: Model number string */
            .uuid = BLE_UUID16_DECLARE(GATT_MODEL_NUMBER_UUID),
            .access_cb = gatt_svr_chr_access_device_info,
            .flags = BLE_GATT_CHR_F_READ,
        }, {
            0, /* No more characteristics in this service */
        }, }
    },

        {
            0, /* No more services */
        },
};

修改服務(wù)屬性

AB32VG1_ble_Svr.png

這里服務(wù),我們沒(méi)做修改,保存默認(rèn)。

編譯

編譯工程:Ctrl+B,會(huì)出錯(cuò), 如下:

In file included from :
E:\RT-ThreadWorkspace\AB32_BLE_Demo\rtconfig_preinc.h:8:9: error: no macro name given in #define directive
    8 | #define
      |         ^
In file included from :
E:\RT-ThreadWorkspace\AB32_BLE_Demo\rtconfig_preinc.h:8:9: error: no macro name given in #define directive
    8 | #define
      |         ^
make: *** [rt-thread/src/subdir.mk:57: rt-thread/src/device.o] Error 1
make: *** Waiting for unfinished jobs....
In file included from :
E:\RT-ThreadWorkspace\AB32_BLE_Demo\rtconfig_preinc.h:8:9: error: no macro name given in #define directive
    8 | #define
      |         ^
In file included from :
E:\RT-ThreadWorkspace\AB32_BLE_Demo\rtconfig_preinc.h:8:9: error: no macro name given in #define directive
    8 | #define
      |         ^
make: *** [rt-thread/src/subdir.mk:57: rt-thread/src/clock.o] Error 1
make: *** [rt-thread/src/subdir.mk:57: rt-thread/src/components.o] Error 1
make: *** [rt-thread/src/subdir.mk:57: rt-thread/src/idle.o] Error 1
"make -j4 all2" terminated with exit code 2. Build might be incomplete.

14:29:13 Build Failed. 9 errors, 0 warnings. (took 1s.464ms)
pYYBAGGuF3OAaQS9AALBp2Wi9RE432.png

雙擊出錯(cuò)提示,定位到出錯(cuò)的地方,#define后面是空的,刪除這個(gè)#define即可

標(biāo)題重新編譯

保存修改內(nèi)容: ctrl+s, 編譯:ctrl+b

poYBAGGuF0iAXIJQAAPtmZoE0KE579.png


編譯成功

調(diào)試

將編譯好的,目標(biāo)文件:rtthread.elf,燒錄到中科藍(lán)訊AB32VG1 BLE開(kāi)發(fā)板,操作步驟詳細(xì)請(qǐng)參閱: 基于RT-Thread的AB32VG1開(kāi)發(fā)環(huán)境搭建

pYYBAGGuG_WAN1A_AAIYWxLBi1I930.png

手機(jī)打開(kāi)藍(lán)牙

poYBAGGuHA-AG-9yAAI7v2ez_2A292.png

手機(jī)打開(kāi)藍(lán)牙BLE調(diào)試助手

AB32_BLE_debug_phone_openBLEdbg.JPG

連接BLE設(shè)備

掃描到與我們代碼設(shè)置一樣BLE設(shè)備名字,說(shuō)明代碼修改正確.連接與我們代碼設(shè)置一樣BLE設(shè)備名字.

AB32_BLE_debug_phone_conect_bleg.JPG

設(shè)備相關(guān)數(shù)據(jù)服務(wù)列表

AB32_BLE_debug_blereportsrv.JPG

獲取BLE設(shè)備數(shù)據(jù)--制造商信息

AB32_BLE_debug_blerd.JPG


點(diǎn)"讀取"即可,這與我們代碼設(shè)置一樣,說(shuō)明代碼修改正確

AB32_BLE_debug_blereport.JPG

獲取BLE設(shè)備數(shù)據(jù)--設(shè)備型號(hào)信息

點(diǎn)"讀取"即可,這與我們代碼設(shè)置一樣,說(shuō)明代碼修改正確

AB32_BLE_debug_blerdnum.JPG

讀取心率相關(guān)數(shù)據(jù)

AB32_BLE_debug_blerdhr01.JPG

心率數(shù)據(jù)自動(dòng)數(shù)據(jù)通知上報(bào)

心律數(shù)據(jù)是模擬的,開(kāi)發(fā)板硬件上沒(méi)有

AB32_BLE_debug_blerdhr01.JPG


AB32_BLE_debug_blerdhr02.JPG


AB32VG1_debug_ble_err.png


AB32VG1_debug_ble_err02.png

這個(gè)數(shù)據(jù)點(diǎn)代碼有BUG,不定什么時(shí)候,報(bào)錯(cuò),每次錯(cuò)誤還不一樣, 這個(gè)還得官方分析一下.

遺留問(wèn)題

1) 定時(shí)上報(bào)數(shù)據(jù)點(diǎn)代碼有BUG,不定什么時(shí)候,報(bào)錯(cuò),每次錯(cuò)誤還不一樣, 這個(gè)還得官方分析一下.
2)現(xiàn)在只有Read(BLE上報(bào)數(shù)據(jù))功能,沒(méi)有write(APP->BLE下達(dá)數(shù)據(jù))功能,這個(gè)后面移植一下
3)連接現(xiàn)有通用平臺(tái)功能, 如微信涂鴉天貓精靈.....等等
4)mac_addr是6bytes, 代碼里只寫(xiě)了5個(gè)數(shù)據(jù),這是疏漏還是有意為之
5)制造名長(zhǎng)度限制了,沒(méi)有找到哪里限制了,是不是上報(bào)告數(shù)據(jù)長(zhǎng)度限制了,在代碼哪里呢

上面遺留問(wèn)題,還請(qǐng)專(zhuān)家?guī)兔鉀Q一下,我能力有限.

總結(jié)

用RT-Thread基于中科藍(lán)訊AB32VG1 BLE開(kāi)發(fā)快捷方便.做一個(gè)只要官方有的驅(qū)動(dòng)及軟件,相關(guān)方便快捷,沒(méi)有話自己移植的話,還是比較復(fù)雜.

轉(zhuǎn)載注明出處:https://mp.weixin.qq.com/s/72jVJvEGVFwApsv_hdhxfA

更多精彩,歡迎關(guān)注微信公眾號(hào):

pYYBAGGrfV-AdBMjAA_nxj6W7zU440.png

谷動(dòng)谷力

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • BLE
    BLE
    +關(guān)注

    關(guān)注

    12

    文章

    698

    瀏覽量

    60765
  • 開(kāi)發(fā)環(huán)境

    關(guān)注

    1

    文章

    242

    瀏覽量

    17121
  • SDK
    SDK
    +關(guān)注

    關(guān)注

    3

    文章

    1077

    瀏覽量

    49020
  • RT-Thread
    +關(guān)注

    關(guān)注

    32

    文章

    1403

    瀏覽量

    41885
  • 中科藍(lán)訊
    +關(guān)注

    關(guān)注

    9

    文章

    61

    瀏覽量

    10243
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    如何調(diào)試nRF5 SDK

    ,以及命令行方式等多種手段來(lái)調(diào)試你的代碼。 1. 通過(guò)打log方式進(jìn)行調(diào)試 nRF5 SDK支持UART和SWD J-Link(RTT)兩種底層通信方式來(lái)打印日志,SDK14之后日志也
    的頭像 發(fā)表于 06-24 08:59 ?188次閱讀
    如何調(diào)試nRF5 <b class='flag-5'>SDK</b>

    (大賽作品)STM32F072RB NUCLEO智能家居控制實(shí)例項(xiàng)目

    (大賽作品)STM32F072RB NUCLEO智能家居控制實(shí)例項(xiàng)目文檔截圖
    發(fā)表于 05-28 21:06

    (ST大賽三等獎(jiǎng)作品)超聲波自拍神器實(shí)例項(xiàng)目

    (ST大賽三等獎(jiǎng)作品)超聲波自拍神器電路圖:
    發(fā)表于 05-28 21:04

    索尼ILX-LR1相機(jī)遠(yuǎn)程遙控SDK V1.13.00下載教程

    軒展科技作為SONY(中國(guó))官方授權(quán)代理商, SONY ILX-LR1相機(jī)的最新版本SDK及其他資料都是由SONY(中國(guó))授權(quán)發(fā)布,不僅權(quán)威,而且安全。為方便用戶(hù)更便捷地找到SDK,將官方SD
    的頭像 發(fā)表于 05-15 09:52 ?203次閱讀
    索尼ILX-LR<b class='flag-5'>1</b>相機(jī)遠(yuǎn)程遙控<b class='flag-5'>SDK</b> V1.13.00下載教程

    dfd#電路知識(shí) #RTT設(shè)計(jì)大賽

    RTT
    jf_34552825
    發(fā)布于 :2025年05月08日 19:50:18

    如何調(diào)試nRF5 SDK

    ,以及命令行方式等多種手段來(lái)調(diào)試你的代碼。 1. 通過(guò)打log方式進(jìn)行調(diào)試 nRF5 SDK支持UART和SWD J-Link(RTT)兩種底層通信方式來(lái)打印日志,SDK14之后日志也
    發(fā)表于 04-26 23:13

    求一個(gè)BLE低功耗藍(lán)牙 ch592f新增seriver的例程

    求一個(gè)BLE低功耗藍(lán)牙 ch592f新增seriver的例程
    發(fā)表于 03-30 02:04

    使用keil編譯下載usb_cdc_vcom freertos例程sdk2.15版本無(wú)法正常檢測(cè)到串口,怎么解決?

    使用keil編譯下載usb_cdc_vcom freertos例程sdk2.15版本無(wú)法正常檢測(cè)到串口但是sdk2.4.1的例程可以...怎么檢查問(wèn)題
    發(fā)表于 03-27 08:00

    AG32 SDK 更新版本1.7.0:加入dsp例程和Slave SPI例程

    最新版本Version 1.7.0 1、加入dsp例程 加入dsp例程以及 DSP軟件庫(kù) 。 2、加入Slave SPI例程 加入用邏輯實(shí)現(xiàn)的Slave SPI
    發(fā)表于 03-17 10:04

    景銳CA51F1_SDK開(kāi)發(fā)資料免費(fèi)下載

    景銳CA51F1_SDK開(kāi)發(fā)資料,包含常用例程和觸摸SDK
    發(fā)表于 01-22 17:24 ?2次下載

    mXT1296M1T-AT/mXT1296M1T-AB 1.1數(shù)據(jù)手冊(cè)

    電子發(fā)燒友網(wǎng)站提供《mXT1296M1T-AT/mXT1296M1T-AB 1.1數(shù)據(jù)手冊(cè).pdf》資料免費(fèi)下載
    發(fā)表于 01-22 16:11 ?1次下載
    mXT1296M<b class='flag-5'>1</b>T-AT/mXT1296M<b class='flag-5'>1T-AB</b> 1.1數(shù)據(jù)手冊(cè)

    DS8007有相關(guān)的單片機(jī)例程或者sdk驅(qū)動(dòng)程序嗎?求分享

    請(qǐng)問(wèn)DS8007有相關(guān)的單片機(jī)例程或者sdk驅(qū)動(dòng)程序嗎?
    發(fā)表于 12-19 07:13

    【AI技術(shù)支持】ESP32-S3模組EspBleOTA搜索不到ble_ota例程的藍(lán)牙問(wèn)題處理

    esp-iot-solutionexamples/bluetooth/ble_ota例程的時(shí)候,編譯燒錄完成后,在EspBleOTAApp中無(wú)法找到藍(lán)牙設(shè)備,用NrfConnectApp是可以搜索到該藍(lán)牙設(shè)
    的頭像 發(fā)表于 12-13 18:06 ?1558次閱讀
    【AI技術(shù)支持】ESP32-S3模組EspBleOTA搜索不到<b class='flag-5'>ble</b>_ota<b class='flag-5'>例程</b>的藍(lán)牙問(wèn)題處理

    TINA-TI仿真,為什么VF1VG1的波形不一樣?

    為什么VF1VG1的波形不一樣? 還有就是如果我把波形的下降沿改為100N,VF1的波形就會(huì)被削頂,這個(gè)有是什么原因?
    發(fā)表于 08-19 07:15

    例程BLE_GATTS_SPP“中,手機(jī)第一次連接藍(lán)牙服務(wù)時(shí),怎么添加配對(duì)密碼?

    例程BLE_GATTS_SPP“中,手機(jī)第一次連接藍(lán)牙服務(wù)時(shí),怎么添加配對(duì)密碼?
    發(fā)表于 07-19 08:28