设为首页收藏本站

Discuz! Board

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 3983|回复: 1
打印 上一主题 下一主题

初学新人,想请教一下关于nrf51822定时器中断的问题

[复制链接]

1

主题

2

帖子

17

积分

新手上路

Rank: 1

积分
17
跳转到指定楼层
楼主
独显 发表于 2020-9-26 14:59:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近想用nrf51822完成动态广播,尝试在main函数里面建立一个定时器,然后在中断服务里每隔50ms更新一次广播数据。但是发现程序并没有达到预期的效果,现在还不知道是定时器创建失败还是中断部分有问题,还请大佬们赐教,程序由官方SDK12.3 s130协议栈 ble_peripheral\ble_app_uart\10028改动而成,主函数定时器相关代码大致如下:
  1. app_timer_id_t my_timer;

  2. APP_TIMER_INIT(APP_TIMER_PRESCALER, APP_TIMER_OP_QUEUE_SIZE, false);
  3. app_timer_create(&my_timer,APP_TIMER_MODE_REPEATED,my_timer_handler);
  4. app_timer_start(my_timer, APP_TIMER_TICKS(2000,APP_TIMER_PRESCALER), NULL);

  5. //中断服务函数部分
  6. void my_timer_handler(void *p_contex)
  7. {
  8.         advdata_Update();
  9. }
复制代码
有的说法是定时器数量宏MAX_TIMER的问题,但我找了这个协议栈里面并没有用到这个



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

1

主题

2

帖子

17

积分

新手上路

Rank: 1

积分
17
沙发
 楼主| 独显 发表于 2020-9-26 15:42:43 | 只看该作者
解决了,问题出在不能用网上其他方法声明定义的那个my_timer,要用宏APP_TIMER_DEF(my_timer);才可以,谢谢大佬的视频
回复 支持 反对

使用道具 举报

Archiver|手机版|小黑屋|Comsenz Inc.   

GMT+8, 2024-11-23 01:39 , Processed in 0.149649 second(s), 29 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表