瑞芯微Rockchip开发者社区
直播中

张伟

8年用户 1728经验值
私信 关注
[经验]

基于TIMER中断模式秒中断定时的设计实现

软件实现

软件代码见 examples/timer/timer_int

配置 TIMER 设备时钟源,见 bsp/board/bl706_iot/clock_config.h

使能 BSP_USING_TIMER0 并配置 TIMER0 设备配置,见 bsp/board/bl706_iot/peripheral_config.h

调用 timer_register 函数注册 TIMER 设备,当前注册 TIMER0

然后通过 find 函数找到设备对应的句柄,保存于 timer0 句柄中

最后使用 device_open 以中断模式来打开 timer0 设备

调用 device_set_callback 函数,注册用户指定的 TIMER0 中断服务函数。调用 device_control 函数使能中断和配置定时周期。

此函数是示例的中断服务函数,作用是判断具体是哪个 COMP 触发的中断和打印 COMP0 触发中断的次数。

device_write 则是在达到 comp2 超时时间时,修改 comp2 的超时时间为 12s。

编译和烧录

CDK 编译

打开项目中提供的工程文件:timer_int.cdkproj

参照 Windows 下使用 CDK (类 MDK Keil)开发指南 的步骤编译下载即可

命令行编译

原作者:BL_MCU_SDK 开发指南

更多回帖

发帖
×
20
完善资料,
赚取积分