需要用蓝牙芯片做无线串口,选择使用nRF52832。taobao上买了一个hc-42的小板子自己调试用。

1 第一步,测试板子串口转蓝牙是否正常--正常

2 第二步,烧写程序

将板子上的SWDIO、SWDCLK、VCC、GND都焊线出来,一开始使用ST-LINK,查文档发现不行,只能用J-LINK,后来链接到J-LINK上。在SDK中找例程,编译,烧写失败。再查资料,这个芯片必须先使用nRFgo软件将芯片擦除才可以烧写程序。官网有一个 getting_started_keil.pdf 指导一步一步烧写程序。

3 第三步,验证

一开始太着急,想直接测试蓝牙串口,发现不行,就先选了一个GPIO点灯的。找到hc-42板子上的led灯对应的IO,修改相应的代码,下载,LED可以正常控制,说明基本操作没问题。

4第四步,调试蓝牙串口

SDK默认的工程中,用了O3的优化编译选项,断点找不到位置,需要先改成O0。单步调试代码发现sd_softdevice_enable死循环,百度搜到https://devzone.nordicsemi.com/f/nordic-q-a/18340/device-loops-on-sd_softdevice_enable sdk用的开发版用的32.768kHz的晶振,而自己用的hc-42是32M的晶振,因此需要修改配置,按照如下修改

nrf_clock_lf_cfg_t const clock_lf_cfg =
    {
        .source       = 0,//from xtal
        .rc_ctiv      = 16,//NRF_SDH_CLOCK_LF_RC_CTIV,
        .rc_temp_ctiv = 2,//NRF_SDH_CLOCK_LF_RC_TEMP_CTIV,
        .accuracy     = 0//NRF_SDH_CLOCK_LF_ACCURACY
    };

编译,加载。可以喝手机正常通信。

nRF52832资料较少,Nordic上的SDK都是按照自己家的开发版搞的。看起来云里雾里。下面记录一下:

首先是SDK版本

  • S112 SoftDevice v6.1.1
  • S132 SoftDevice v6.1.1
  • S140 SoftDevice v6.1.1
  • S212 SoftDevice v6.1.1
  • S312 SoftDevice v6.1.1
  • S332 SoftDevice v6.1.1
  • S340 SoftDevice v6.1.1

S132版本的API对应的是nRF52832的蓝牙。S332版本的API对应的是nRF52832的蓝牙和NFC。其他版本都和nRF52832没关系。

其次是不同的开发版

pca100xx

pca200xx

不同的开发版上面有不同的nRF芯片,只有pca10040开发版使用了nRF52832芯片,因此找程序和工程只能看pca10040的,其他板子都不对应这个芯片。

https://www.nordicsemi.com/Products/Low-power-short-range-wireless/nRF52832

官网资料很多,SDK,各种软件在官网都能下载到

nRF52832调试相关推荐

  1. nRF52832调试相关记录

    nRF52832调试相关记录 | DD'NotesnRF52832调试相关记录背景以前业余用nRF52832做了个物联网小项目(蓝牙微微网),做了些相关的调试记录 nRF52832寄存器类型 Task ...

  2. Nordic开发笔记

    Nordic开发问题记录 定时模块app_timer用法及常见问题-nRF5 SDK模块系列二 Nrf SDK introduce nRF52840 PCA10056基于SES的编译运行(一) nRF ...

  3. nrf52832 TWI/I2C 调试

    概述: Nordic 芯片中TWI 表示的就是I2C,各个芯片的I2C 功能都差不多,不做过多介绍,直接参考官方SDK库进行调试: SDK 版本: SDK\nRF5_SDK_17.0.2_d674dd ...

  4. NRF52832学习笔记(13)——RTT打印调试日志

    一.背景 Log 信息输出可以方便调试者观察程序运行状态,和常用的串口 printf 的功能相似.但是在 nrf5x 芯片串口只有一个的状态下,如果你已经使用了串口,者时候 Log 显示提供一种不占用 ...

  5. nrf52832 Uart 调试

    概述: UARTE 是带有 EasyDMA 的通用异步接收器/发送器 UART.提供快速.全双工.异步的串口通信,内置流量控制(CTS,RTS)支持硬件,速率高达 1 Mbps. 官方Demo使用 S ...

  6. alios things开发板_AliOS Things开发:让你的开发板支持AliOS Studio调试-阿里云开发者社区...

    给AliOS Things一颗STAR(前往GitHub关注我们) 目录 简介 在AliOS-Things 2.1版本之后,AliOS Studio提供了一套简单易懂的接口可以让开发者很容易适配开发板 ...

  7. [nRF52832开发板:Nordic Thingy:52]Nordic Thingy:52到手

    不得不说Nordic的资料很乱,查一个资料要跳转到好几个网页才有可能找到. nRF52832基本上是我接触到的第一个基本上没有中文资料的IC了,也当是养成一个好习惯,以后做一些使用/学习的记录 为了使 ...

  8. nRF52832之硬件I2C

    这几天一直在折腾nRF52832的硬件I2C,到了今天终于出现了成果,在此也印证了那句话:"耕耘就有收获" 52832的硬件I2C虽然官方提供了demo,但是自己对I2C通信理解的 ...

  9. 02 nRF52832芯片简介

    nRF52832芯片简介 nRF52832 SoC是一款功能强大,高度灵活的超低功耗多协议SoC,非常适合低功耗蓝牙,ANT和2.4GHz超低功耗无线应用.它和普通的单片机如51.stm32等最大的不 ...

最新文章

  1. 自动驾驶车辆何时实现?近期不会实现的五大原因
  2. c# 学习笔记 (3) 窗体单例模式
  3. C++11模版元编程的应用
  4. Oracle GoldenGate微服务架构
  5. 挖掘建模-分类与预测-回归分析-逻辑回归
  6. PythonTips1
  7. php解析二级json,PHP Json 解析
  8. 视频码率,帧率和分辨率的联系与差别
  9. 高维球体的体积是多少
  10. quarters自动编译生成sof
  11. 区块链打造“红娘链”,婚姻上链让爱更“牢固”
  12. 火狐浏览器必备的一些Hack插件
  13. 原生js实现快速排序
  14. matlab中如何转动三维图_MATLAB小技巧之:绕任意空间轴旋转三维图形
  15. 如何快速连接别人共享的打印机?
  16. typescript Type 'NodeListOfany' must have a '[Symbol.iterator]()' method that returns an iterato
  17. 永洪Desktop实例分享|星巴克数据指标体系建设及炫酷可视化大屏搭建
  18. nginx rewrite规则语法(关于break和last分析得很好)
  19. CNCC 2016 | 南京大学黄宜华教授 50 张 PPT 剖析 Alluxio 及其应用
  20. 企业微信方便做售后吗?企微SCRM_带你体验私域流量新玩法

热门文章

  1. KSO - sqlserver事务实现
  2. 可以计算一元二次方程复数根的模拟计算机
  3. 太原科技大学计算机宿舍,太原科技大学宿舍条件怎么样,有独立卫生间和空调吗...
  4. 文明重启哪个服务器最多,文明重启攻略 新手快速霸服技巧分享[多图]
  5. 紫光信息港 软件测试,紫光展锐 信息化软件工程师面经
  6. 滴滴云上使用 eCryptfs 加密数据
  7. vivos9设置繁体语言方法分享
  8. java mycat reload_MyCAT 1.6 使用reload @@config_all报错
  9. React Native 连接夜神模拟器
  10. 【JavaSE】之注解与反射