nRF52832
webuildthings
这个作者很懒,什么都没留下…
展开
-
nRF52832开发记录----学习资源
学习Nordic BLE相关资源官网官方开发论坛,有官方人员回答问题https://devzone.nordicsemi.com/官方文档中心,非常全https://infocenter.nordicsemi.com/官方博客https://devzone.nordicsemi.com/nordic/nordic-blog/官方githubhttps://github.com/NordicSemiconductorhttps://github.com/NordicPlayg原创 2020-11-09 11:09:17 · 285 阅读 · 0 评论 -
nRF52832开发记录----代码读保护
当代码下载到芯片里后,可以使用工具将代码读出来如果不希望别人读取你芯片内的代码,那就需要在下载代码时添加读保护功能Nordic nRFConnect PC版本中的Hex下载工具没有读保护功能Nordic蓝牙芯片的读保护功能需要使用 nrfjprog 工具实现nrfjprog -f NRF52 --recovernrfjprog -f NRF52 --program xxx.hex --verifynrfjprog --rbp ALL上面操作分别为:解锁并擦除下载添加读保护...原创 2020-11-09 11:08:49 · 1309 阅读 · 2 评论 -
nRF52832开发记录----消息序列图
在Nordic协议栈操作中,操作流程给出了消息流程图,非常直观接合代码一起看将最大限度提高工作效率消息流程图在Noridc 文档中心https://infocenter.nordicsemi.com/协议栈版本不同会有些区别。以nRF52系列 S132协议栈为例:RSSI get sample...原创 2020-11-09 11:08:26 · 185 阅读 · 0 评论 -
nRF52832开发记录----iOS蓝牙连接间隔时间
iOS对蓝牙连接参数有明确要求。之前项目中的连接参数不符合要求,通信过程中会自动断开。最新参数要求请查看 :https://developer.apple.com/accessories/Accessory-Design-Guidelines.pdf35.6 Connection ParametersThe connection parameter request may be rejected if it does not comply with all of these rules:- Blu原创 2020-11-09 11:04:16 · 1445 阅读 · 0 评论 -
nRF52832开发记录----DFU
DFU : Device Firmware Update 即固件升级DFU可分为两种:dual bank : 先接收后升级. 优点:升级失败可回滚 缺点:需要额外空间single bank : 边接收边升级. 优点: 节约空间 缺点:如果出错不能回滚版本最新SDK(v15.3.0)会根据当前代码空间,自动选择使用dual bank或single bankNordic 支持三种升级方式: UART, USB, BLENordic要实现DFU需要两个独立的代码:bootloade原创 2020-11-09 11:03:56 · 630 阅读 · 0 评论 -
nRF52832开发记录----pwm实现呼吸灯
Nordic的引脚是可以自由定义的。只有SAADC接口是固定的那几个引脚,数字引脚,PWM, I2C, UART, I2S都是可以自由定义的。1. 使用能PWM配置sdk_config.h,使能PWM#define NRFX_PWM_ENABLED 1#define PWM_ENABLED 1#define PWM0_ENABLED 1#define NRFX_PWM0_ENABLED 02. 实例化总共支持4个PWM,分别是PWM0, PWM1, PWM2, PWM3 .使用PWM0原创 2020-11-09 11:03:32 · 1596 阅读 · 0 评论 -
nRF52832开发记录----RTC超时逻辑导致死机
超时使用RTC计数器辅助实现但在实际使用中发现有时会出现死机现象现像:死机代码:// RTC频率: fRTC [kHz] = 32.768 / (PRESCALER + 1 )#if (0 == APP_TIMER_CONFIG_RTC_FREQUENCY) #define RTC_CNT_MS (33) // // 当分频为0 时, 1ms 对应的 RTC 计数值#else #error "undefine RTC_CNT_MS"#endif//原创 2020-11-09 11:02:06 · 1058 阅读 · 0 评论 -
nRF52832开发记录----RTC日历
nrf52832有三个 RTC协议栈使用了RTC0, APP_TIMER使用了RTC1我们可以利RTC2实现日历时钟配置及休眠实现比较关键RTC 配置rtc频率如下:f [kHz] = 32.768 / (PRESCALER + 1 )休眠noridc有两种休眠模式 System OFF 和 System ONSystem OFF 模式是深度休眠模式,将关闭cpu和所有外设System ON 模式可以关闭cpu后外设继续工作当使用RTC功能时只能使用System ON模式原创 2020-11-09 11:01:17 · 873 阅读 · 0 评论 -
nRF52832开发记录----低功耗休眠
Nordic nrf52832的电源管理有两种模式: System OFF 、System ONSystem OFF在此处模式下会进入深度休眠状态,cpu和外设将全部关闭,将功耗降至最低.休眠功耗会非常低:只有零点几微安将所有使用的外设关闭后调用sd_power_system_off()将进入System OFF状态在没有协议栈时调用 NRF_POWER->SYSTEMOFF = 0x1; 进入System OFF状态 唤醒System OFF模式只能被IO口唤醒The DE原创 2020-11-06 16:42:26 · 6001 阅读 · 2 评论 -
nRF52832开发记录----ble发送数据丢包
在发送大数据时,发现实际发送长度不对,数据没有发送完全。发送逻辑为:发送长度大于MTU时分包发送,第一次只发送MTU长度,待发送完成后接着发送剩余数据,每次最大发送MTU长度以下为实现:1. 封装发送函数发送长度不能超过MTU值void myBleNusDataSend(uint8_t *pDat, uint32_t dataLength){ uint16_t length = 0; uint32_t err_code; do{ lengt原创 2020-11-06 16:42:02 · 2212 阅读 · 1 评论 -
nRF52832开发记录----蓝牙抓包
在做BLE开发中,经常需要抓蓝牙通信包来分析。专业的蓝牙抓包工具非常昂贵,我们可以使用Nordic的开发板来进行抓包还可以使用nRF Connect APP进行简单抓包 1 硬件Nordic nRF52 开发板 PCA100402 软件Wireshark v2.4.6 以上 https://www.wireshark.org/Python v3.6 以上 https://www.python.org/downloads/nRF Sniffer for Bluetooth LE v3.x原创 2020-11-06 16:41:31 · 1810 阅读 · 0 评论 -
nRF52832开发记录----nRFConnect PC 不能添加app
现象:nRF Connect PC版打开后提示错误,导致无法添加或更新appError Unable to download laster app info:Unable to download apps list: Unable to download根据提示,手动访问 https://raw.githubusercontent.com/NordicSemiconductor/pc-nrfconnect-core/master/apps.json.提示不能访问,看来是网络访问问题 解决方法:原创 2020-11-06 16:41:08 · 1725 阅读 · 0 评论 -
nRF52832开发记录----强大的辅助软件 nRFConnect
nRF Connect是Nordic出品的通用蓝牙软件有移动版和PC版两种此软件功能非常强大,强烈建议安装下载nRF Connect for MobilenRF Connect for DesktopPC版本Connect使用简单,每个功能对应一个插件,安装对应插件即可。比如想烧录hex就安装Programmer插件就可以了下面针对手机版本nRF Connect进行一些使用技巧说明 1. 查看本机蓝牙相关参数nRFConnect可以查看本机蓝牙支持的特性2. nRFConnect原创 2020-11-06 16:40:22 · 3973 阅读 · 1 评论 -
nRF52832开发记录----sdk_config文件
Nordic BLE开发工程中,sdk_config.h 文件非常重要,当基于SDK例程增加功能时会需要对sdk_config.h进行修改,添加对应的宏进行配置这时可以从sdk_config.h模板文件中查看对应功能模块所需要的宏路径为: SDK\configSDK/└── config ├── nrf52810 │ ├── armgcc │ ├── config │ │ └── sdk_config.h │ └── ses ├─原创 2020-11-06 16:39:57 · 1348 阅读 · 0 评论 -
nRF52832开发记录----NFC做普通IO
nRF52 系列有些IO口有多个功能可选,如果不配置则使用默认功能。具体可查看芯片手册。NFC对应的IO口默认为NFC功能,如果要使用普通IO功能则必须手动配置为IO口。在IDE中预定义宏CONFIG_NFCT_PINS_AS_GPIOS则将IO口设置为NFC功能.如下图:...原创 2020-11-06 16:39:28 · 728 阅读 · 0 评论 -
nRF52832开发记录----使用内部32k晶振
低频晶振32.768KHz是蓝牙协议栈提供时间基准可以去掉外部低频晶振,使用内部RC, 软件上进行简单配置即可:注意,在同等条件下,使用内部RC要比使用外部晶振功耗上会多1uA左右//==========================================================// <o> NRF_SDH_CLOCK_LF_SRC - SoftDevice clock source. // <0=> NRF_CLOCK_LF_SRC_RC //原创 2020-11-06 16:31:46 · 3672 阅读 · 0 评论 -
nRF52832开发记录----使用RTT打印调试信息
开发时我们可以使用RTT来打印logRTT是SEGGER公司开发的用于嵌入式程序中与用户交互的实时终端。RTT搭配JLink的JLinkRTTViewer软件使用1. RTT将RTT源码移植到工程中即可实现RTT功能RTT源码使用ANSI C标准编写可以移植到任何嵌入式程序中RTT实现了一个简易的printf()函数SEGGER_RTT_Printf(),不需要堆RTT源码包含在JLink中,安装完JLink后就带有RTT源码Windows JLink源码在JLink安装目录下的Sample原创 2020-11-06 16:28:06 · 1178 阅读 · 0 评论 -
nRF52832开发记录----Nordic BLE 开发环境搭建
nordic支持三种IDE: KEIL, IAR, SES.SES跟Keil非常像,是Segger公司为Nordic芯片量身打造的,对Nordic用户来说,永久免费。Segger embedded studio开发环境搭建官方文档:Keil MDK开发环境搭建官方文档: 1. SES安装SES安装包 https://www.segger.com/downloads/embedded-studio/2. nRF Command Line Tools安装nRF5x command line t原创 2020-11-06 15:10:10 · 2915 阅读 · 0 评论