打印
[MM32生态]

【EV Board (MM32L0136C7P)测评】+使用SysTick实现高精度延时及SysTick使用注意事项

[复制链接]
869|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 6552918 于 2022-12-11 15:28 编辑

SysTick是ARM内核的一个功能,利用这个定时器,可以实现高精度延时。

我封装的延时函数就是使用这个定时器实现的,所有延时操作都是在delay.c和delay.h文件内。
delay.h内先关说明

使用时只需要在初始化时调用delay_init();就可以使用相关延时函数。

delay_init();内根据#define SYSTICK_INT_DELAY决定使用那种方式,默认使用中断方式

SysTick_Config函数在core_cm0plus.h内,而且不知道为什么,函数库里和SysTick相关的函数只有这么一点,所以只能支持中断模式。

因为查询模式的初始化需要调void SYSTICK_ClockSourceConfig(u32 SysTick_ClockSource)函数,但这款芯片的库文件没有相关文件,所以无法实现查询方式的SYSTICK延时

微妙延时函数

毫秒延时

总结,不知道是什么原因,函数库感觉很不健全,我在调试其他功能时,也有类似感觉,很多常用的函数都没有实现,希望原厂尽快完善一下。 delay.zip (2.33 KB)


使用特权

评论回复
沙发
xu@xupt| | 2022-12-19 10:35 | 只看该作者
学习啦,感谢分享

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

认证:北京汇冠触摸技术有限公司/电子工程师
简介:电子工程师,嵌入式应用爱好者。

102

主题

1237

帖子

6

粉丝