4.1. MTIMER - 系统定时器¶
本 demo 基于 risc-v 内核自带的一个 64 位定时器(MTIMER)编写。本 demo 可以为后面 os tick 提供参考。
4.1.1. 硬件连接¶
无
4.1.2. 软件实现¶
软件代码见
examples/systick
注解
mtimer
时钟默认经过分频以后为 1M,方便后面使用,减少计算时间。
1 2 3 4 5 6 7 8 | void systick_isr()
{
static uint32_t tick=0;
tick++;
MSG("tick:%d\r\n",tick);
}
bflb_platform_set_alarm_time(1000000,systick_isr);
|
使用上述代码设置 mtimer 定时时间为 1s,并且注册中断回调函数。
4.1.3. 编译和烧录¶
CDK 编译
打开项目中提供的工程文件:systick.cdkproj
参照 Windows 下使用 CDK (类 MDK Keil)开发指南 的步骤编译下载即可
命令行编译
1 2 | $ cd <sdk_path>/bl_mcu_sdk
$ make BOARD=bl706_iot APP=systick
|
烧录
4.1.4. 实验现象¶
tick
值每秒自增 1 并通过串口打印。