52840定时器

D:\git\xwatch\examples\peripheral\timer\pca10056\blank\arm5_no_packs

nrf52832有5个定时器,
分别为timer0~time4,
使用蓝牙时timer0会被占用。

原文:https://blog.csdn.net/yadanzhang/article/details/102934881

所以测试代码不能写NRF_DRV_TIMER_INSTANCE(0)

修改如下 可以work!
NRF_DRV_TIMER_INSTANCE(1)

补充:
新手解决问题 https://www.cnblogs.com/hjj801006/p/12690197.html

#ifndef TIMER_ENABLED
#define TIMER_ENABLED 1

#ifndef TIMER0_ENABLED
#define TIMER0_ENABLED 1
++++++++++ 可以不要下面的
#ifndef NRFX_TIMER_ENABLED
#define NRFX_TIMER_ENABLED 1

#ifndef NRFX_TIMER0_ENABLED
#define NRFX_TIMER0_ENABLED 1
++++++++++
才可以

 

注意他的编程技巧 宏的拼接!

#define NRF_DRV_TIMER_INSTANCE                   NRFX_TIMER_INSTANCE

#define NRFX_TIMER_INSTANCE(id)                                   \
{                                                                 \
    .p_reg            = NRFX_CONCAT_2(NRF_TIMER, id),             \
    .instance_id      = NRFX_CONCAT_3(NRFX_TIMER, id, _INST_IDX), \
    .cc_channel_count = NRF_TIMER_CC_CHANNEL_COUNT(id),           \
}
#define NRF_TIMER_CC_CHANNEL_COUNT(id)  NRFX_CONCAT_3(TIMER, id, _CC_NUM)
也就是需要如下3个
NRF_TIMER0
NRF_TIMER0_INST_IDX
TIMER0_CC_NUM

此时的问题是 我的测试代码在周期几次以后 一旦调用

nrf_drv_timer_disable(&TIMER_LED);

就会死机

 

问题找到!!!!我测试代码写的const nrf_drv_timer_t TIMER_LED = NRF_DRV_TIMER_INSTANCE(1); //sdkconfig 已经打开1定时器

是放在init函数内部的那就是局部变量 我不能再别的的函数去操作它!

所以放在最外面就可以OK!

而time0我可以撤回的 不要了 那是之前没有del的垃圾

 

进一步看定时器参数吧

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值