设为首页收藏本站

Discuz! Board

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 90|回复: 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的问题,但我找了这个协议栈里面并没有用到这个



回复

使用道具 举报

1

主题

2

帖子

17

积分

新手上路

Rank: 1

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

使用道具 举报

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

GMT+8, 2020-10-21 01:52 , Processed in 0.157611 second(s), 26 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

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