【NCS随笔】如何在hello_world添加蓝牙功能(一)

如何在hello_world添加蓝牙功能(一)

环境准备

硬件:nRF54L15DK
软件版本:NCS3.0.2
例程:hello_world

宏的配置

# Config loggerCONFIG_LOG=yCONFIG_USE_SEGGER_RTT=yCONFIG_LOG_BACKEND_RTT=yCONFIG_LOG_BACKEND_UART=nONFIG_CONSOLE=y#添加蓝牙从机
CONFIG_BT=yCONFIG_BT_PERIPHERAL=yCONFIG_BT_DEVICE_NAME="Hello_World"CONFIG_DK_LIBRARY=y#关闭Zephyr系统打印
CONFIG_BOOT_BANNER=nCONFIG_NCS_BOOT_BANNER=n#关闭SPI,目前不需要
CONFIG_SPI_NOR=n

main添加蓝牙功能

添加广播包
#广播包
static const struct bt_data ad[] ={BT_DATA_BYTES(BT_DATA_FLAGS, (BT_LE_AD_GENERAL | BT_LE_AD_NO_BREDR)),BT_DATA(BT_DATA_NAME_COMPLETE, DEVICE_NAME, DEVICE_NAME_LEN),};#扫描回应包
static const struct bt_data sd[] ={BT_DATA_BYTES(BT_DATA_UUID128_ALL, 0x84, 0xaa, 0x60, 0x74, 0x52, 0x8a, 0x8b, \0x86, 0xd3, 0x4c, 0xb7, 0x1d, 0x1d, 0xdc, 0x53, 0x8d),
};BT_CONN_CB_DEFINE(conn_callbacks) ={.connected = connected,.disconnected = disconnected,};/* Private Functions ---------------------------------------------------------*/static void connected(struct bt_conn *conn, uint8_t err){if (err){printk("Connection failed (err %u)\n", err);
return;}printk("Connected\n");dk_set_led_on(CON_STATUS_LED);}static void disconnected(struct bt_conn *conn, uint8_t reason){printk("Disconnected (reason %u)\n", reason);dk_set_led_off(CON_STATUS_LED);}
main
int main(void){int err = 0;int blink_status = 0;err = dk_leds_init();if (err){//printk("LEDs init failed (err %d)\n", err);return err;}err = bt_enable(NULL);if (err){//printk("Bluetooth init failed (err %d)\n", err);return 0;}//printk("Bluetooth initialized\n");err = bt_le_adv_start(BT_LE_ADV_CONN_1, ad, ARRAY_SIZE(ad),sd, ARRAY_SIZE(sd));if (err){//printk("Advertising failed to start (err %d)\n", err);return err;}// printk("Advertising successfully started\n");LOG_INF("BLE start");for (;;){dk_set_led(RUN_STATUS_LED, (++blink_status) % 2);k_msleep(500);}return 0;}

三、测试

在这里插入图片描述

你的点赞、收藏和评论是对我最大的支持,有问题多多指教,如果有需要Nordic开发板、Nordic的芯片以及Nordic技术支持的可以在个人资料获取我的联系方式,感谢读者支持!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/91140.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/91140.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

机器学习——KNN实现手写数字识别:基于 OpenCV 和 scikit-learn 的实战教学 (超级超级超级简单)

用KNN实现手写数字识别:基于 OpenCV 和 scikit-learn 的实战教学在这篇文章中,我们将使用 KNN(K-Nearest Neighbors)算法对手写数字进行分类识别。我们会用 OpenCV 读取图像并预处理数据,用 scikit-learn 构建并训练模…

【Git】分支

文章目录理解分支创建分支切换分支合并分支删除分支合并冲突分支管理策略分支策略bug 分支删除临时分支小结理解分支 本章开始介绍 Git 的杀手级功能之一(注意是之一,也就是后面还有之二,之三……):分支。分支就是科幻…

【32】C# WinForm入门到精通 ——打开文件OpenFileDialog 【属性、方法、事件、实例、源码】

WinForm 是 Windows Form 的简称,是基于 .NET Framework 平台的客户端(PC软件)开发技术,是 C# 语言中的一个重要应用。 .NET 提供了大量 Windows 风格的控件和事件,可以直接拿来使用。 本专栏内容是按照标题序号逐渐…

Wan2.2开源第1天:动态灯光功能开启创意氛围新境界

在开源软件蓬勃发展的今天,每一次新版本的发布都如同在创意的星空中点亮了一颗璀璨的新星。今天,(通义万相国际版wan)Wan2.2正式开源,它带着令人眼前一亮的动态灯光功能惊艳登场,为所有追求创意与氛围营造的…

Excel制作滑珠图、哑铃图

Excel制作滑珠图、哑铃图效果展示在较长时间周期内,很多参数都是在一定范围内浮动的,并不是一成不变的,为了直观表达各类别的浮动范围,使用“滑珠图”就是一个不错的选择,当滑珠图两侧均有珠子的时候,又称为…

Day07 JDBC+MyBatis

1.JDBC入门程序2.JDBC执行DQL语句3.JDBC预编译SQL 防止SQL注入随便输入用户名,密码为or1 1,sql注入4.Mybatis入门 Mapper 持久层XxxMapper替代Dao4.1调用接口的findAll()方法时自动执行上方的SQL语句,并将SQL查询的语句自动封装到返回值中5.Mybatis辅助…

OSS-服务端签名Web端直传+STS获取临时凭证+POST签名v4版本开发过程中的细节

这里写自定义目录标题配置OSS服务端代码初始化STS Client获取STS临时凭证创建policy计算SigningKeyOSSUtil.javaSTSPolicyDTO.java提供接口Apifox模拟Web端文件直传本文主要结合服务端STS获取临时凭证(签名)直传官方文档对开发中比较容易出错的地方加以提醒;建议主要…

uniapp实现微信小程序导航功能

1.导航按钮<button click"navigation()">导航到仓库</button>2.导航功能const navigation (item) > {let address item.province item.city item.district item.address //地址let latitude Number(item.latitude) …

07.4-使用 use 关键字引入路径

使用 use 关键字引入路径 每次调用函数时都必须写出完整路径&#xff0c;可能会感觉不便且重复。在清单7-7中&#xff0c;无论我们选择绝对路径还是相对路径来调用 add_to_waitlist 函数&#xff0c;每次调用时都必须指定 front_of_house 和 hosting。幸运的是&#xff0c;有一…

7.Linux :进程管理,进程控制与计划任务

Linux &#xff1a;进程管理&#xff0c;进程控制与计划任务 一、进程管理 1. 进程与程序 程序&#xff1a;静态的可执行文件&#xff08;存储于磁盘&#xff09;。进程&#xff1a;动态执行的程序实例&#xff08;占用CPU/内存&#xff09;。 2. 查看进程命令作用常用组合ps静…

Matplotlib(四)- 图表样式美化

文章目录一、Matplotlib图表样式介绍1. 图表样式简介2. 默认图表样式2.1 查看默认配置2.2 常用的配置3. 图表样式修改3.1 局部修改3.1.1 通过绘图方法设置参数修改3.1.2 通过rcParams修改3.1.3 通过rc()方法修改3.2 全局修改二、颜色设置1. 颜色的三种表示方式1.1 颜色单词1.2 …

三十四、【Linux常用工具】rsync+inotify实时同步演示

实时同步演示技术架构全景核心组件详解1. inotify 内核子系统2. Rsync 高效同步工具实践演示一、环境准备与安装1. 检查内核支持2. 安装 inotify-tools二、配置 Rsync 服务端&#xff08;目标机&#xff09;1. 创建 Rsync 配置文件2. 启动 Rsync 守护进程三、配置实时同步脚本&…

windows环境下MySQL 8.0 修改或重置密码

windows环境下MySQL 8.0 修改或重置密码 1打开命令窗口cmd&#xff0c;输入命令&#xff1a;net stop mysql&#xff0c; 停止MySQL服务&#xff0c; 开启跳过密码验证登录的MySQL服务 2输入命令 mysqld --console --skip-grant-tables --shared-memory 再打开一个新的cmd&…

基于YOLOP与GAN的图像修复与防御系统设计与实现

基于YOLOP与GAN的图像修复与防御系统设计与实现 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家&#xff0c;觉得好请收藏。点击跳转到网站。 1. 引言 1.1 研究背景 随着深度学习技术在计算机视觉领域的…

将目录文件转移到D盘,使之后的下载缓存数据转移,不再存入c盘

将 C:\Users 文件夹&#xff08;用户文件夹&#xff09;转移到其他盘是一个复杂且风险较高的操作。C:\Users 文件夹包含了系统中每个用户的个人数据和配置文件&#xff0c;修改这个路径可能会导致系统出现问题&#xff0c;包括程序无法正常工作或无法登录。因此&#xff0c; 强…

Cesium大气散射效果

由于做全球体积云效果的需要&#xff0c;再来研究下大气散射效果和体积云类似&#xff0c;关于大气散射颜色计算的过程也仅发生在这两个球体之间。如图所示。计算从相机出发的视线与球壳的交点&#xff0c;如果不相交&#xff0c;则该视线方向上不会发生大气散射&#xff0c;直…

预过滤环境光贴图制作教程:第二步 - 生成环境贴图图集

核心目标 本步骤的核心是生成一张包含 6 级分辨率的环境贴图图集(envAtlas),实现: 将第一步的立方体贴图(sourceCube)重新映射为等矩形投影(适合存储和采样); 生成 6 级不同分辨率的等矩形数据(0 级最高清,5 级最模糊); 用 RGBP 编码压缩 HDR 数据(平衡精度与存…

1. ESP开发之实体按键(KEYPADBUTTON)控制LVGL控件

说明LV_INDEV_TYPE_BUTTON的使用LV_INDEV_TYPE_KEYPAD的使用 说明 本实验使用LVGL版本为v9.2 LVGL中有四种输入设备,如下LV_INDEV_TYPE_POINTER, /**< Touch pad, mouse, external button*/ LV_INDEV_TYPE_KEYPAD, /**< Keypad or keyboard*/ LV_INDEV_TYPE_BUTTON, /*…

C++:STL中list的使用和模拟实现

C中的list是标准模板库&#xff08;STL&#xff09;提供的双向链表容器&#xff0c;支持高效的元素插入和删除操作。在上一篇中讲解了vector的使用和模拟实现&#xff0c;vector是具有连续的空间&#xff0c;迭代器是可以随机的&#xff0c;而list却于vector不同&#xff0c;li…

【编号58-61】我国四大高原矢量示意图shp数据

今天分享的是&#xff1a;中国四大高原&#xff0c;分别是青藏高原、内蒙古高原、黄土高原、云贵高原。青藏高原位置与范围&#xff1a;位于中国西南部&#xff0c;包括西藏、青海的全部&#xff0c;川西高原及滇西北高原等部分地区。它的边界&#xff0c;向东是横断山脉&#…