NORDIC BLUETOOTH
Hansen Mi
这个作者很懒,什么都没留下…
展开
-
NORDIC nRF52840 PWM Module 硬件功能实现
硬件: NORDIC nRF 52840 SoC软件: NORDIC nRF SDK Ver 15.2功能: nRF 52840 带3路PWM硬件模块,每个模块支持4通道,总共支持12路PWM通道PWM Module 工程配置于 sdk_config.h 文件nRF_Drivers 配置中使能 PWM_ENABLED于工程文件目录中添加 nrfx_pwm.c...原创 2020-09-18 10:55:51 · 2823 阅读 · 0 评论 -
NORDIC nRF52840 输入引脚初始化及中断操作
硬件: NORDIC nRF 52840 SoC软件: NORDIC nRF SDK Ver 15.2硬件中断触发: 低电平触发Step 1: 正确配置 GPIOTE Driver 通道数Step 2: GPIO 引脚初始化#define RX8010_IRQ1 16#define RX8010_IRQ2 17#define BUTTON_DETECTION_DELAY APP_TIMER_TICKS(50) /原创 2020-09-08 11:28:37 · 3046 阅读 · 0 评论 -
长程蓝牙控制器 (8DI, 8DO, 1路 RS485, 1路 I2C, RTC )
主要硬件: Nordic nRF52840 长程蓝牙 SoC , 外置棒式天线 内置高精度度 RTC 时钟 (EPSON RX8010SJ), 支持万年历时间, 两路中断报警输出 八通道隔离输入 八通道隔离输出 (输出总负载可达 240W, 单通道最大可达 100W) 1路 隔离 RS485 1 路 I2C 十针 J-TAG,SWD 程序下载接口软件: ...原创 2020-09-07 11:22:09 · 372 阅读 · 0 评论 -
NORDIC 软硬件调试笔记
1. nRFgoStudio 找不到JLinkARM.dllSegger 第一次安装,会在注册表中添加安装路径字段,nRFgoStudio 根据此来寻找JLinkARM.dll。当卸载/更新Segger的时候,注册表的相关的字段是不会被修改的!如果卸载了第一个安装的Jlink版本,就会报错提示找不到相应的DLL。安装更新版本的Segger也是不可行的,因为它还是不会修改相关字段。故需要手工修改下面两个注册表项目到正确的安装路径:HKEY_LOCAL_MACHINE\SOFTWARE\S...原创 2020-07-23 11:58:19 · 429 阅读 · 0 评论 -
Raspberry Pi 与 Nordic nRF 52840 USB 通讯测试笔记
硬件: Raspberry Pi 3B+, Nordic nRF52840 SoC操作系统: Raspbian Lite, Nordic softDevice S140RPI 串口硬件查看$ ls /dev/ttyACM*$ dmesg | grep ttyACM*RPI 串口操作# 向串口写数据$ echo data > /dev/ttyACM0# 从串口读数据$ cat /dev/ttyACM0RPI 串口设置命令stty用法:stty [-F 设备.原创 2020-07-22 11:38:24 · 1159 阅读 · 1 评论 -
SENSIRION SCD30 二氧化碳传感器测量数据转换
硬件:Nordic nRF52840 SoC, SENSIRION SCD30软件: Nordic SDK V15.2, Keil V5.23SCD30 I2C 读取测量值命令, 0x0300参考代码float CO2Concentration,realValueOfTemperature,realValueOfHumidity;uint32_t tempCO2,tempTemp,tempHumi;uint8_t buffer[4];buffer[0] = 0x43;b原创 2020-07-13 17:04:18 · 1215 阅读 · 0 评论 -
NRF_LOG_INFO 打印输出浮点数 (float)
硬件: Nordic nRF5x软件: Nordic SDK V15.2, Keil v5.23nrf_log.h 中定义/** * @brief Macro to be used in a formatted string to a pass float number to the log. * * Use this macro in a formatted string instead of the %f specifier together with * @ref NRF_LOG原创 2020-07-13 16:22:45 · 3427 阅读 · 0 评论 -
NORDIC nRF52840 默认 NFC 引脚 (P0.09,P0.10) 改做普通 GPIO
硬件: Nordic nRF 52840 SoC软件: Nordic SDK V15.2于 system_nrf52840.h 文件中,定义#define CONFIG_NFCT_PINS_AS_GPIOS, P0.09,P0.10 做普通 GPIO 定义即可使用.原创 2020-06-29 09:14:30 · 2171 阅读 · 0 评论 -
蓝牙广播包中自定义厂家数据的设置及获取
1. 蓝牙 perihperal 设备广播自定义数据设定蓝牙广播相关数据结构定义于 ble_advertising.h以下为相关数据结构关联示意图参考样例static void advertising_init(void){ uint32_t err_code; ble_advertising_init_t init; memset(&init, 0, sizeof(init)); char manufacture_data[].原创 2020-05-10 14:12:00 · 7445 阅读 · 9 评论 -
Nordic nRF5 SDK 学习笔记之十四, 蓝牙广播重要参数及回调函数
1. 样例代码/**@brief Function for handling advertising events. * @details This function will be called for advertising events which are passed to the application. * @param[in] ble_adv_evt Advertisin...原创 2019-12-26 14:45:01 · 2236 阅读 · 1 评论 -
Nordic nRF5 SDK 学习笔记之十三, SAADC
样例: ~\nRF5_SDK_15.2.0_9412b96\examples\peripheral\saadc1. ADC 功能块图2. ADC 计算公式3.于 sdk_config.h 中配置, 以及添加 nrfx_saadc.c 文件4.nrf_drv_saadc_init 初始化__STATIC_INLINE ret_code_t nrf_drv_saa...原创 2019-12-18 14:46:00 · 3637 阅读 · 0 评论 -
认识BLE 5协议栈 —— 物理层
转自 http://www.sunyouqun.com/2017/04/understand-ble-5-stack-physical-layer/1. 简介物理层(Physical Layer)是BLE协议栈最底层,它规定了BLE通信的基础射频参数,包括信号频率、调制方案等。BLE工作频率是2.4GHz,它使用GFSK频率调制,并使用跳频机制来解决频道拥挤问题。BLE 5的物理层...转载 2018-09-29 17:03:14 · 5935 阅读 · 0 评论 -
认识BLE 5协议栈 —— 属性协议层
转自 http://www.sunyouqun.com/2017/04/understand-ble-5-stack-attribute-protocol-layer/ 属性协议(Attribute Protocol)简称ATT。ATT层定义了属性实体的概念,包括UUID、句柄和属性值等,也规定了属性的读、写、通知等操作方法和细节,这些与属性操作相关的内容称为属性协议。ATT层规定了...转载 2018-09-29 16:59:44 · 1260 阅读 · 0 评论 -
认识BLE 5协议栈 —— 链路层
转自 http://www.sunyouqun.com/2017/04/understand-ble-5-stack-link-layer/链路层LL(Link Layer)是协议栈中最重要的一层。链路层的核心是状态机,包含广播、扫描、发起和连接等几种状态,围绕这几种状态,BLE设备可以执行广播和连接等操作,链路层定义了在各种状态下的数据包格式、时序规范和接口协议。对于广播行为,链路层...转载 2018-09-29 16:57:47 · 6036 阅读 · 3 评论 -
认识BLE 5协议栈 —— 直接测试模式
转自 http://www.sunyouqun.com/2017/04/understand-ble-5-stack-direct-test-mode/认识BLE协议栈 —— 直接测试模式BLE协议充分考虑了设备的测试问题,在协议栈层面提供了直接测试模式,用于执行BLE设备的RF物理层一致性的测试。直接测试模式(Direct Test Mode)常简称为DTM。DTM测试的核心工作...转载 2018-09-29 16:56:05 · 2872 阅读 · 0 评论 -
认识BLE 5协议栈 —— 主机控制器接口
转自 http://www.sunyouqun.com/2017/04/understand-ble-5-stack-hci-layer/BLE协议栈规定物理层、链路层和DTM层属于控制器,其他协议层属于主机,主机与控制器之间的通信是通过主机控制器接口传输层完成的。主机控制器接口常简称为HCI(Host Controller Interface)。HCI定义了一套“命令-事件”机制,主...转载 2018-09-29 16:53:43 · 1777 阅读 · 0 评论 -
认识BLE 5协议栈 —— 逻辑链路控制与适配协议层(L2CAP,Logical Link Control and Adaptation Protocol)
转自 http://www.sunyouqun.com/2017/04/understand-ble-5-stack-l2cap-layer/逻辑链路控制与适配协议通常简称为L2CAP(Logical Link Control and Adaptation Protocol),它向上连接应用层,向下连接控制器层,发挥主机与控制器之间的适配器的作用,使上层应用操作无需关心控制器的数据处理细节。...转载 2018-09-29 16:50:04 · 2292 阅读 · 0 评论 -
认识BLE 5协议栈 —— 通用属性规范层 (GATT,Generic Attribute Profile)
转自 http://www.sunyouqun.com/2017/04/understand-ble-5-stack-generic-attribute-profile-layer/通用属性规范GATT(Generic Attribute Profile)将ATT层定义的属性打包成不同的属性实体,包括服务项、特征项和描述符,这些属性实体组合在一起组成规范,即GATT规范。GATT规范是服务项的...转载 2018-09-29 16:46:23 · 2516 阅读 · 0 评论 -
Nordic nRF5 SDK 学习笔记之八, Nordic UART Service NUS 服务透传
硬件: nRF52832 DK软件: nRF SKD Ver 15.2官方样例: NUS 服务端: SDK15.2\ble_peripheral\ble_app_uart NUS Client 客户端: SDK15.2\examples\ble_central\ble_app_uart_cDOC 文档: Nord...原创 2018-12-08 13:54:54 · 9059 阅读 · 1 评论 -
认识BLE 5协议栈 —— 安全管理层
转自 http://www.sunyouqun.com/2017/04/understand-ble-5-stack-security-manager-layer/安全管理(Security Manager)定义了设备间的配对过程。配对过程包括了配对信息交换、生成密钥和交换密钥三个步骤。具有不同的输入输出能力的设备将采用不同的配对方式,两个设备完成配对将加密连接,产生LTK、IRK、CSR...转载 2018-09-29 16:44:09 · 1831 阅读 · 0 评论 -
NORDIC nRF52840 ROM与RAM 开始地址及大小设置 (keil 环境)
目的:NORDIC nRF52840 ROM与RAM 开始地址及大小的正确设置方法(keil 环境)硬件: NORDIC nRF 52840 DK (FLASH ROM: 1MB, RAM: 256 KB)协议栈: s140_nrf52_6.1.0Keil: u version ver 5.23.0.01. 设置界面;IROM1 对应 1MB FLASH ROM; IRAM1 ...原创 2018-10-10 10:25:50 · 10428 阅读 · 0 评论 -
Nordic nRF5 SDK 学习笔记之四, TWI (I2C) 总线
硬件:nRF52832SDK: Ver 15.2.0目标: TWI (I2C) 总线应用 (TWI MASTER 模式)样例:<InstallFolder>\examples\peripheral\twi_sensorTWI driver 包括两层: HAL 硬件层和 DRV 驱动层;1. TWI MASTER 于 sdk_config.h 中配置注意:配置...原创 2018-10-26 21:39:27 · 8233 阅读 · 0 评论 -
Nordic nRF5 SDK 学习笔记之十二, nRF52840 Dongle USB CDC ACM 虚拟串口功能测试
样例: ~\nRF5_SDK_15.2\examples\peripheral\usbd_cdc_acm\pca10056\blank\arm5_no_packs1. 更改编译硬件, 从 pca10056 (nRF52840 DK) 改为 pca10059 ( nRF52840 Dongle).2. 因 pca10059.h 中没有 TX_PIN_NUMBER,RX_PIN_NUM...原创 2019-01-23 09:20:23 · 9805 阅读 · 0 评论 -
Nordic nRF5 SDK 学习笔记之十一, 获取 Peripheral 蓝牙 MAC 地址及重新设定
软件: nRF SKD Ver 15.2, S132 SoftDevice API获取 Peripheral 蓝牙 MAC 地址void get_MAC_address_with_HEX(char * str_MAC){ ble_gap_addr_t addr; uint32_t err_code = sd_ble_gap_addr_get( &addr);...原创 2019-01-09 19:28:40 · 3650 阅读 · 0 评论 -
Nordic nRF52/nRF51 开发流程说明
原文链接: https://www.cnblogs.com/iini/p/8994433.htmlNordic nRF51/nRF52开发流程说明Nordic nRF52系列包括nRF52832/nRF52840/nRF52810/nRF52811等芯片,nRF51系列包括nRF51822/nRF51422/nRF51802等芯片,开发者可以按照如下流程去评估和开发nRF52/51应用解决...转载 2019-01-19 22:26:35 · 6716 阅读 · 1 评论 -
Nordic nRF5 SDK 学习笔记之十, 蓝牙 Central 扫描参数 ble_gap_scan_params_t 理解
软件: nRF SKD Ver 15.2, S140 SoftDevice API文档路径: ~/nRF5_SDK_15.2.0_offline_doc/s140/structble__gap__scan__params__t.html1. ble_gap_scan_params_t::active; 值: 1: 主动扫描, 0: 被动扫描; 如果需要获得扫描响应,需...原创 2018-12-30 17:35:51 · 6617 阅读 · 0 评论 -
Nordic nRF5 SDK 学习笔记之九, 蓝牙 Central 扫描函数 sd_ble_gap_scan_start() 理解
软件: nRF SKD Ver 15.2, S140 SoftDevice API蓝牙 Central 扫描函数uint32_t sd_ble_gap_scan_start (ble_gap_scan_params_t const * p_scan_params,ble_data_t const * p_adv_report_buffer)开始或连续扫描 ( GAP 发现进程, 观察进...原创 2018-12-30 12:38:16 · 3746 阅读 · 0 评论 -
Nordic nRF5 SDK 学习笔记之七, 功耗评估及电源优化
NORDIC 官方评估功耗在线测试NORDIC Online Power Profiler,https://devzone.nordicsemi.com/power/NORDIC 关于低功耗的官方博客https://devzone.nordicsemi.com/tutorials/b/hardware-and-layout/posts/nrf51-current-consumpti...原创 2018-11-19 20:23:01 · 7737 阅读 · 2 评论 -
Nordic nRF5 SDK 学习笔记之六, POWER PROFILER KIT (PPK) 用法
NORDIC POWER PROFILER KIT (PPK):用于嵌入式开发的电流测量工具; 实时测量微功耗的控制板及软件系统!官方资料链接产品介绍https://www.nordicsemi.com/chi/node_176/Power-Profiler-Kit使用方法http://infocenter.nordicsemi.com/index.jsp?topic=%2...原创 2018-11-18 22:27:19 · 4059 阅读 · 1 评论 -
Nordic nRF5 SDK 学习笔记之五, 用户定制数量的 LED 和 BUTTON
硬件: nRF52832 DK软件: nRF SKD Ver 15.21. LED 数量以板载的4个改为8个, 修改 pca10040.h 文件中相关定义// LEDs definitions for PCA10040#define LEDS_NUMBER 8#define LED_START 17#define LED_1 17#defi...原创 2018-11-12 00:08:31 · 844 阅读 · 0 评论 -
认识BLE 5协议栈 —— 通用访问规范层(GAP,Generic Access Profile)
转自 http://www.sunyouqun.com/2017/04/understand-ble-5-stack-generic-access-profile-layer/通用访问规范GAP(Generic Access Profile)是BLE设备内部功能对外的接口层,它规定了三个方面:GAP角色、模式和规程、安全问题。GAP层将设备分为四种角色,分别是外围设备,中央设备,播报设备和...转载 2018-09-29 16:40:49 · 4195 阅读 · 0 评论 -
蓝牙BLE V4.2, V5 新功能介绍
注:此文摘抄自 http://www.sunyouqun.com/category/ble-stack/协议发布时间 协议版本 2016/12 Bluetooth 5 2014/12 Bluetooth 4.2 2013/12 Bluetooth 4.1 2010/6 Bluetooth 4.0 Bluetooth 5 新功能新增功能 ...转载 2018-09-29 15:41:05 · 3343 阅读 · 0 评论 -
NORDIC Thingy:52 蓝牙 BLE 服务 SoC 程序调用流程分析之四, Motion Service
Nordic Thingy 52 BLE Services* Thingy configuration service * Environment service * User interface service * Motion service * Sound service * Battery service * DFU service* Motion serv...原创 2018-07-24 12:06:10 · 472 阅读 · 0 评论 -
NORDIC Thingy:52 蓝牙 BLE 服务 SoC 程序调用流程分析之一, Thingy Configuration Service
Nordic Thingy 52 BLE Services* Thingy configuration service * Environment service * User interface service * Motion service * Sound service * Battery service * DFU service* Thingy conf...原创 2018-07-24 11:04:12 · 370 阅读 · 0 评论 -
NORDIC Thingy:52 蓝牙 BLE 服务 SoC 程序调用流程分析之三, User interface service
Nordic Thingy 52 BLE Services* Thingy configuration service * Environment service * User interface service * Motion service * Sound service * Battery service * DFU service* User interf...原创 2018-07-24 10:59:30 · 605 阅读 · 0 评论 -
NORDIC Thingy:52 蓝牙 BLE 服务 SoC 程序调用流程分析之二, Environment Service
Nordic Thingy 52 BLE Services* Thingy configuration service * Environment service * User interface service * Motion service * Sound service * Battery service * DFU service* Environment...原创 2018-07-23 19:30:15 · 436 阅读 · 0 评论 -
NORDIC Thing:52 Android App 学习之一:THINGY 52 节点与手机的蓝牙识别、过滤及通信建立
Android App 蓝牙扫描功能页面, SCAN 按键触发蓝牙扫描XML 文件: app\res\layout\activity_configuration.xmlJAVA 文件: app\java\no.nordicsemi.android.nrfthingy\configuration\InitialConfigurationActivity.java app\jav...原创 2018-06-28 16:58:09 · 805 阅读 · 0 评论 -
NORDIC Thing:52 Android App 学习之二:手机 App 蓝牙服务发现及数据读取
1. 选中扫描到的 Thingy 52 蓝牙设备;文件: ScannerFragment.java public Dialog onCreateDialog(final Bundle savedInstanceState) { ...... builder.setTitle(R.string.scanner_title); final AlertDial...原创 2018-07-02 10:50:35 · 1284 阅读 · 0 评论 -
NORDIC Thingy:52 蓝牙 BLE 服务协议定义
Thingy: 52 SoC 蓝牙 BLE 服务协议定义项目文件源于 Thingy_SDK_V2.1.0, 详细说明请见另一篇博客 "Nordic Thingy:52 SDK 安装及编译"文件: ble_tss.c#define BLE_UUID_TSS_CONFIG_CHAR 0x0501 /**< The UUID of the config Characteris...原创 2018-06-29 20:39:43 · 1152 阅读 · 0 评论 -
NORDIC Thingy:52 蓝牙 BLE 服务 SoC 程序调用流程分析之五, Sound Service
Nordic Thingy 52 BLE Services* Thingy configuration service * Environment service * User interface service * Motion service * Sound service * Battery service * DFU service* Sound servi...原创 2018-07-24 12:24:29 · 392 阅读 · 1 评论