91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

【NCS隨筆】NCS如何修改連接間隔

TedLee ? 來源:jf_29076475 ? 2025-12-28 15:01 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

NCS如何修改連接間隔

一、連接間隔

連接間隔(Connection Interval)是在 兩個(gè)已建立連接的 Bluetooth LE 設(shè)備之間,連續(xù)兩次“連接事件”開始之間的時(shí)間間隔

在一個(gè)連接中,雙方大部分時(shí)間都在休眠,只在每個(gè)連接間隔到期時(shí)同時(shí)喚醒,進(jìn)行一次“連接事件”(交換數(shù)據(jù)或空包,用來保持同步)
連接間隔越短:設(shè)備更頻繁地喚醒通信,延遲更低、可用吞吐量更高,但功耗更高
連接間隔越長(zhǎng):?jiǎn)拘汛螖?shù)減少,功耗更低,但數(shù)據(jù)延遲更大,丟包重傳時(shí)等待時(shí)間也更長(zhǎng)
在協(xié)議里,連接間隔以 1.25 ms 為單位 表示,例如 Interval = 24 就對(duì)應(yīng) 24 × 1.25 ms = 30 ms

區(qū)間:定義連接的區(qū)間。主機(jī)節(jié)點(diǎn)多久會(huì)發(fā)送一次連接事件包到從機(jī)。連接間隔的單位為1.25毫秒。

延遲:從屬延遲。從設(shè)備/外設(shè)可以跳過喚醒,直接響應(yīng)主從連接事件。延遲是從機(jī)可以跳過的連接事件數(shù)量。這是為了節(jié)省從屬端的電力。當(dāng)沒有數(shù)據(jù)時(shí),它可以跳過一些連接事件。但睡眠時(shí)間不應(yīng)過長(zhǎng),以免連接超時(shí)。

超時(shí):主控在沒有從機(jī)響應(yīng)的情況下持續(xù)發(fā)送連接事件多久,連接才會(huì)終止
[圖片上傳中...(image-0uB1Wx2uQ2YOjOvP)]

二、NCS怎么修改連接間隔

2.1 通過宏配置靜態(tài)修改

在prj.conf里面添加如下配置
以下配置將首選連接間隔設(shè)置為 800 * 1.25 ms ≈ 1000 ms,監(jiān)督超時(shí) 4 s。
請(qǐng)求不會(huì)在你的請(qǐng)求后立即發(fā)送,有一個(gè)預(yù)設(shè)的延遲,不設(shè)置的話默認(rèn)是5S,如果需要縮短或者延長(zhǎng)時(shí)間你需要設(shè)置:CONFIG_BT_CONN_PARAM_UPDATE_TIMEOUT

CONFIG_BT_PERIPHERAL_PREF_MIN_INT=800
CONFIG_BT_PERIPHERAL_PREF_MAX_INT=800
CONFIG_BT_PERIPHERAL_PREF_LATENCY=0
CONFIG_BT_PERIPHERAL_PREF_TIMEOUT=400
CONFIG_BT_GAP_AUTO_UPDATE_CONN_PARAMS=y

2.2 通過API動(dòng)態(tài)修改

獲取連接間隔并且打印出來
struct bt_conn_info info;
	err = bt_conn_get_info(conn, &info);
	if (err) {
		LOG_ERR("bt_conn_get_info() returned %d", err);
		return;
	}

double connection_interval = info.le.interval*1.25; // in ms
uint16_t supervision_timeout = info.le.timeout*10; // in ms
LOG_INF("Connection parameters: interval %.2f ms, latency %d intervals, timeout %d ms", connection_interval, info.le.latency, supervision_timeout);
設(shè)置連接,并且通過連接回調(diào)打印

主要需要添加CONFIG_FPU=y這個(gè)宏,才能打印浮點(diǎn)數(shù)

//設(shè)置更新參數(shù)回調(diào)
void on_le_param_updated(struct bt_conn *conn, uint16_t interval, uint16_t latency, uint16_t timeout)
{
    double connection_interval = interval*1.25;         // in ms
    uint16_t supervision_timeout = timeout*10;          // in ms
    LOG_INF("Connection parameters updated: interval %.2f ms, latency %d intervals, timeout %d ms", connection_interval, latency, supervision_timeout);
}

//更新連接參數(shù)
static struct bt_conn *current_conn; 
#define INTERVAL_MIN 800
#define INTERVAL_MAX 800
static struct bt_le_conn_param *conn_param = BT_LE_CONN_PARAM(INTERVAL_MIN, INTERVAL_MAX, 0, 400); 
static int update_connection_parameters(void) 
{ 
int err = bt_conn_le_param_update(current_conn, conn_param); 
if (err) 
{
	 LOG_ERR("Cannot update connection parameter (err: %d)", err);
	 return err; 
 } 
 LOG_INF("Connection parameters update requested"); return 0; }

//將回調(diào)添加到藍(lán)牙事件里面
BT_CONN_CB_DEFINE(conn_callbacks) = {

.connected = connected,

.disconnected = disconnected,

.recycled = recycled_cb,
.le_param_updated   = on_le_param_updated,
#ifdef CONFIG_BT_NUS_SECURITY_ENABLED

.security_changed = security_changed,

#endif

};

打印的LOG

在這里插入圖片描述

你的點(diǎn)贊、收藏和評(píng)論是對(duì)我最大的支持,有問題多多指教,如果有需要Nordic開發(fā)板、Nordic的芯片以及Nordic技術(shù)支持的可以在個(gè)人資料獲取我的聯(lián)系方式,感謝讀者支持!
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • BlueTooth
    +關(guān)注

    關(guān)注

    3

    文章

    232

    瀏覽量

    63796
  • API
    API
    +關(guān)注

    關(guān)注

    2

    文章

    2371

    瀏覽量

    66771
  • NCS
    NCS
    +關(guān)注

    關(guān)注

    1

    文章

    22

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    NCS是否與Intel Aero Drone兼容?

    你好,考慮到我們可以使用帶有Raspberry Pi的Movidius神經(jīng)計(jì)算棒(NCS),我可以在英特爾Aero RTF無(wú)人機(jī)上安裝NCS嗎?謝謝卡斯馬以上來自于谷歌翻譯以下為原文Hello
    發(fā)表于 10-15 11:40

    在STM32MP1上BK1_NCS應(yīng)如何連接到板載BK2_NCS上呢

    文章中的聲明,主要是為了確保將 QuadSPI 置于雙組模式不需要縮短 BK1_NCS 和 BK2_NCS 線。wiki 上的聲明可能具有誤導(dǎo)性。在 STM32MP1 上,當(dāng)從串行 NOR 閃存啟動(dòng)時(shí),STM32 MPU Wiki 指出“在雙模式下,BK1_
    發(fā)表于 12-20 06:47

    NCS29001 LED驅(qū)動(dòng)器 單通道

    電子發(fā)燒友網(wǎng)為你提供()NCS29001相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊(cè),更有NCS29001的引腳圖、接線圖、封裝手冊(cè)、中文資料、英文資料,NCS29001真值表,NCS29001管腳等資料,
    發(fā)表于 04-18 21:20

    NCS3402 比較器 雙通道 低功耗

    電子發(fā)燒友網(wǎng)為你提供()NCS3402相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊(cè),更有NCS3402的引腳圖、接線圖、封裝手冊(cè)、中文資料、英文資料,NCS3402真值表,NCS3402管腳等資料,希望可以
    發(fā)表于 04-18 21:19

    NCS2302 帶發(fā)送/結(jié)束檢測(cè)的耳機(jī)檢測(cè)接口

    電子發(fā)燒友網(wǎng)為你提供()NCS2302相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊(cè),更有NCS2302的引腳圖、接線圖、封裝手冊(cè)、中文資料、英文資料,NCS2302真值表,NCS2302管腳等資料,希望可以
    發(fā)表于 04-18 21:19

    NCS2300 耳機(jī)檢測(cè)接口

    電子發(fā)燒友網(wǎng)為你提供()NCS2300相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊(cè),更有NCS2300的引腳圖、接線圖、封裝手冊(cè)、中文資料、英文資料,NCS2300真值表,NCS2300管腳等資料,希望可以
    發(fā)表于 04-18 21:19

    NCS2220 比較器 雙通道 低電壓

    電子發(fā)燒友網(wǎng)為你提供()NCS2220相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊(cè),更有NCS2220的引腳圖、接線圖、封裝手冊(cè)、中文資料、英文資料,NCS2220真值表,NCS2220管腳等資料,希望可以
    發(fā)表于 04-18 21:18
    <b class='flag-5'>NCS</b>2220 比較器 雙通道 低電壓

    NCS2202A 比較器,低壓,漏極開路

    電子發(fā)燒友網(wǎng)為你提供()NCS2202A相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊(cè),更有NCS2202A的引腳圖、接線圖、封裝手冊(cè)、中文資料、英文資料,NCS2202A真值表,NCS2202A管腳等資料,
    發(fā)表于 04-18 21:18

    NCS2202 比較器 低壓 漏極開路

    電子發(fā)燒友網(wǎng)為你提供()NCS2202相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊(cè),更有NCS2202的引腳圖、接線圖、封裝手冊(cè)、中文資料、英文資料,NCS2202真值表,NCS2202管腳等資料,希望可以
    發(fā)表于 04-18 21:17
    <b class='flag-5'>NCS</b>2202 比較器 低壓 漏極開路

    NCS5651 的散熱注意事項(xiàng)

    NCS5651 的散熱注意事項(xiàng)
    發(fā)表于 11-14 21:08 ?1次下載
    <b class='flag-5'>NCS</b>5651 的散熱注意事項(xiàng)

    NCS2211 音頻設(shè)計(jì)說明

    NCS2211 音頻設(shè)計(jì)說明
    發(fā)表于 11-14 21:08 ?1次下載
    <b class='flag-5'>NCS</b>2211 音頻設(shè)計(jì)說明

    NCS36510 編程手冊(cè)

    NCS36510 編程手冊(cè)
    發(fā)表于 11-14 21:08 ?0次下載
    <b class='flag-5'>NCS</b>36510 編程手冊(cè)

    NCS怎么添加.c.h文件到工程

    NCS隨筆】 SEGGER添加方式 在介紹NCS工程之前,我們先看看大家熟悉的SEGGER工程(Keil同理): 左邊的項(xiàng)目欄可以看到工程的配置,通過點(diǎn)擊 User Include
    的頭像 發(fā)表于 06-27 14:48 ?1027次閱讀
    <b class='flag-5'>NCS</b>怎么添加.c.h文件到工程

    NCS隨筆NCS使用CJSON庫(kù)

    NCS隨筆NCS使用CJSON庫(kù) 這個(gè)文章講一下在NCS上面如何使用JSON庫(kù),我使用Hello_world例程添加庫(kù) 宏的配置 CONFIG_LOG =y
    的頭像 發(fā)表于 08-13 15:12 ?654次閱讀
    【<b class='flag-5'>NCS</b><b class='flag-5'>隨筆</b>】<b class='flag-5'>NCS</b>使用CJSON庫(kù)

    NCS隨筆】如何進(jìn)入system_off深度睡眠模式以及配置GPIO中斷喚醒

    NCS隨筆】如何進(jìn)入system_off深度睡眠模式以及配置GPIO中斷喚醒 本文章主要是講解NCS下面使用nRF54L15如何進(jìn)入system_off模式,以及如何配置通過按鍵喚醒 一、如何進(jìn)
    的頭像 發(fā)表于 09-29 00:56 ?755次閱讀
    【<b class='flag-5'>NCS</b><b class='flag-5'>隨筆</b>】如何進(jìn)入system_off深度睡眠模式以及配置GPIO中斷喚醒