![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
nRF52832
文化人Sugar
也许我们都不是天才的程序员,但至少我们都可以成为一个理想的程序员。
展开
-
nRF52832 — __attribute__((section(x))) 使用详解之Nordic观察者模式
1、attribute((section(x))) 使用详解无论是GNU还是ARM的编译器, 都支持 __attribute__所指定的编译属性,这里着重讲解一下在KEIL 环境下__attribute__中的section的使用方法2、BLE事件观察者模式nRF5 SDK从版本14开始,对事件回调机制做了更新,引入了观察者模式,以解耦不同BLE Layer对BLE事件的回调函数。实现这套机制用到了Flash的段(Section),将RAM中的函数调用与Flash中的段操作结合到一起,这个想法很新颖转载 2020-06-30 21:50:22 · 1041 阅读 · 0 评论 -
nRF52832 — 矩阵键盘
写在前面:因为项目内需要用到机械的矩阵按键,所以这里整理一下有关矩阵按键的一些知识~温故而知新。一、矩阵按键的工作原理:原创 2017-07-19 09:58:51 · 3483 阅读 · 0 评论 -
nRF52832 — DFU升级
一、OTA空中升级: 1、概念: DFU:Device Firmware Update(设备固件更新) OTA: Over The Air (空中升级) 两种不同布局方式的差别: (1)single bank布局不支持softdevice及bootloader自身的升级,只支持该芯片上应用程序的升级。 (2)采用single bank布局的方式中,一旦开始升级,芯片上原有的应原创 2017-08-14 15:44:13 · 22451 阅读 · 17 评论 -
nRF52832 — 1.44寸 TFT屏
写在前面:楼主正参与一个智能蓝牙的项目,项目中使用了TFT屏来显示温度和一些UI交互信息。如题,屏幕大小是1.44寸,TFT-LCD屏幕,132 (H) x RGB x 162 (V) Bits,驱动芯片是ST7735S,3.3V和2.8V两组供电;一、屏幕采用非标准的SPI通信协议,有关的参考代码(keil工程)和所有资料,可点击下载;二、调试中我使用的取模软件是PCtoLCD2002.exe,西西软件园可下载;原创 2017-08-14 15:45:41 · 4458 阅读 · 5 评论 -
nRF52832 — ANCS协议介绍
1 ANCS综述ANCS即 Apple Notification Center Service。是IOS系统中的一个通知服务。设备连接手机后,设备首先需要先使能IOS系统的通知功能,具体即设备上的GATT 客户端发现IOS上的ANCS,并且使能其 通知源Characteristics 的notify功能。 之后IOS系统就会通过ble 推送消息给设备了。通常推送的消息仅仅是一个简短通知,比如通知有一个社交消息。如果需要获取详细消息,还需要 设备通过 控制点 Characteristics 主动发送控制指转载 2018-05-24 20:10:47 · 4339 阅读 · 0 评论 -
nRF52832 — 外部中断BSP(Board Support Package)
原文链接:http://blog.csdn.net/a369000753/article/details/51312839(转载文章,若有不妥,通知后我会立即删除)首先来分析下主要的代码[cpp]view plaincopy/**@briefFunctionforapplicationmainentry.*/转载 2017-09-20 15:41:56 · 4550 阅读 · 0 评论 -
nRF52832 — BSP按键流程梳理(Board Support Package)
写在前面:nordic平台的BSP写的还是比较经典,值得搞明白然后加以利用~1、buttons_leds_init(&erase_bonds); //按键函数初始化 static void buttons_leds_init(bool * p_erase_bonds){ bsp_event_t startup_event; //按键和灯初始化函数,APP_TIMER_TICKS(100, APP_TIMER_PRESCALER):消抖时间 bsp_ev原创 2018-04-14 13:37:23 · 10505 阅读 · 11 评论 -
nRF52832 — 使用nRF52832的I2S播放音频
写在前面:使用nRF52832的I2S,配合codec(新唐NAU88C10)可以播放常用音频交互信息;一、转换工具资源包:点击下载二、I2S数据获取:1、打开资源包,文件目录如下图,文字转语音工具:语音自动生成器.exe——得到.wav原创 2018-05-16 20:51:07 · 9287 阅读 · 6 评论 -
nRF52832 — 修改设备ID和mac地址
写在前面:接上一篇,因为我们的客户有修改设备ID和mac地址的需求~所以继续调试。1、首先在微信硬件平台下载安卓版调试工具:AirSyncDebugger;原创 2017-05-09 16:19:43 · 12896 阅读 · 2 评论 -
nRF52832 — 连接指定name、UUID、addr的蓝牙设备
写在前面:近几年蓝牙发展迅速,蓝牙IC每年的出货量高达数亿颗,无论我们身处任何地方,周围都可能同时存在着很多种蓝牙设备。那么蓝牙主机如何能在众多的蓝牙广播信号中,与我们期望的从机,自动建立蓝牙连接呢?可以通过设备名称、通过uuid等等;下面我就以设备名称为例,说说如何根据蓝牙的device_name去建立蓝牙连接。1、打开nRF52832的sdk,找到ble_app_multilink_central例程,在main.c文件中找到on_ble_evt(),然后找到BLE_GAP_EVT_ADV_REPO原创 2018-03-14 19:28:46 · 10453 阅读 · 0 评论 -
nRF52832 — UART和指纹模块
写在前面:因为客户的案子需要用到指纹识别,所以最终选用指纹识别模组MG100(北京铭光正讯科技有限公司),通讯方式是UART,因为是单工通信,所以数据解析协议相对简单。原创 2017-05-12 10:36:02 · 3776 阅读 · 6 评论 -
nRF52832 — 串口BLE例程逐行解析【转载】
原文链接:http://blog.csdn.net/u011034150/article/details/50617686(转载文章,若有不妥,通知后我会立即删除)本讲逐行代码解析官方串口BLE例程demo主要分一下几个部分:1:Main函数的整体注释2:函数单独解析。3:接收串口数据并发送给对端设备4:接收手机数据并转载 2017-09-15 21:43:30 · 11894 阅读 · 3 评论 -
nRF52832 — 多通道ADC接口的使用
写在前面:因为楼主参与的项目中需要采集两路ADC,所以使用了ADC采集的多通道接口。感慨一下:Nordic的资料真的太少了~一、调试历程: 首先分享一下调试的历程,可谓是一路坎坷~ 1、项目中需要采集两路ADC,就研究了ADC的接口;原创 2017-09-14 21:26:11 · 11193 阅读 · 4 评论 -
nRF52832 — 微信移植(官方例子移植到SDK12.2.0)
参考网址:http://blog.csdn.net/a369000753/article/details/51262261转载 2017-05-06 18:23:00 · 4282 阅读 · 4 评论 -
nRF52832 — 有关Drive configuration的相关配置
写在前面:在项目开发中,曾遇到过因IO口驱动能力不足导致串口通讯异常的问题,请看这篇博客;当时不知道什么原因,后来回过头来看这个问题,又查了一些资料,终于找到了答案。 参考文章1:单击查看(http://blog.sina.com.cn/s/blog_1637bc2740102xh9a.html) 参考文章2:单击查看(http://blog.csdn.net/u011422605/article/details/52468271)原创 2017-11-11 10:26:26 · 3562 阅读 · 0 评论 -
nRF52832 — NFC脚(P9/P10)配置为普通GPIO口
写在前面:楼主参与的项目中使用了较多的IO口,连P09和P10也要使用,但它们默认配置为NFC引脚,那如何配置为普通IO口呢?1、首先看数据手册《nRF52832_OPS_v0.6.3》原创 2017-09-20 15:23:25 · 5754 阅读 · 1 评论 -
nRF52832 — 基于HID实现鼠标的左击、右击和滚轮
文章索引1:https://blog.csdn.net/Augusdi/article/details/4177221文章索引2:https://blog.csdn.net/dfysy/article/details/5914863文章索引3:https://blog.csdn.net/weixin_40204595/article/details/81179361文章索引4:https://devzone.nordicsemi.com/f/nordic-q-a/7703/what-can-i-原创 2018-08-26 15:46:51 · 5056 阅读 · 0 评论 -
nRF52832 — Keil中如何配置RAM地址
写在前面:在使用Keil过程中,有时需要自己手动配置RAM地址,那么如何根据SoftDevice的大小计算呢?1、烧录报错: 当更改了芯片型号或者新建工程时,烧录会提示:Error: Flash Download failed - "Cortex-M0",如图:原创 2018-01-11 20:47:18 · 9765 阅读 · 0 评论 -
nRF52832 — 提高蓝牙BLE的数据传输速率
讲解2点: 为什么 nordic的4.0协议栈中ble只能发送20字节的应用负载数据。 大量数据发送时如何提高发送速率1:为何上层应用负载每次最多20字节首先了解 4.0中链路层的包格式如下: PDU即协议数据单元,即链路层的负载数据。应用层用户发送的数据就是在这里面,但是并不全是用户数据。转载 2018-05-24 20:11:04 · 11293 阅读 · 0 评论