蓝牙开发板青风NRF52840上手第一步避坑

最近买了一块蓝牙开发板青风nrf52840,上手第一步就是想要烧录一下官方的外设例程,选择一个外设例程,以DeviceDownload\nRF5_SDK_17.1.0_ddde560\nRF5_SDK_17.1.0_ddde560\examples\peripheral\gpiote\pca10056\blank\arm5_no_packs为例,gpiote路径下有两个工程,要选择pca10056,这个是52840的。
在这里插入图片描述
在这里插入图片描述
另外,例程中所使用的CMSIS包版本是5.6.0,NRT的pack包版本是DeviceFamilyPack.8.40.3,可以先去keil和nordic的官网下载。
在这里插入图片描述

下载过程中出现了以下几个问题:

错误1:the connected probe appears to be a jlink clone

jlink下载的时候有如上提示,是因为keil自带的版本比较高,识别出来jlink是盗版的。
解决办法:安装低版本jlink驱动后替换keil MDK的驱动。比如我原来keil的是V7.80,现在替换为V6.40就没有问题:

jlink安装路径:
在这里插入图片描述
keil MDK的jlink路径:
在这里插入图片描述
替换方式:删除keil MDK的D:\Keil_v5\ARM\Segger路径下的除JL2CM3.dll文件外所有内容,把D:\Program Files (x86)\SEGGER\JLink_V640路径下所有内容复制过来。

错误2:Error: Flash Download failed - “Cortex-M4”

板子上电后,里面可能有代码,上电后板子的LED1会闪烁,但是直接使用keil下载的话提示上述错误,降低下载速度也不行。可能原因:之前代码烧录有问题导致芯片被锁。
解决办法:使用j-flash擦除芯片后再用keil烧录
Target–>Connect,连接成功后按F4(Erase Chip)全片擦除。
在这里插入图片描述

错误3:No Algorithm found for: 12000000H - 12000AB3H

下载时出现上述提示,是因为Flash或者RAM设置不正确。
解决方法:打开魔术棒,在Target下取消勾选IROM2,之后再编译下载。
在这里插入图片描述
之后就可以下载程序了,例程下进去之后LED1闪烁比较快,可以对例程简单修改一下,实现LED1s翻转一次。首先是timer的时钟频率问题,打开sdk_config.h,修改频率为1MHz(方便计算),修改位宽为32位或者24位,因为1MHz的话,1s一次计数值需要为1M(0xF4240),例程默认的是16位。
在这里插入图片描述
之后再main.c中把nrf_drv_timer_extended_compare函数的第三个参数改为1000 * 1000UL。这个MCU不像是ST的会有重装载值寄存器和比较寄存器,而是只有比较寄存器,所以第三个参数设置的就是比较寄存器值。程序下载之后LED1状态会1s翻转一次。

nrf_drv_timer_extended_compare(&timer, (nrf_timer_cc_channel_t)0, 1000 * 1000UL, NRF_TIMER_SHORT_COMPARE0_CLEAR_MASK, false);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值