打印
[Kinetis]

m0内核的滴答时钟

[复制链接]
451|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
quray1985|  楼主 | 2015-12-19 19:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
心血来潮,想用一下m0内核自带的滴答时钟,按照之前的经验,配置CSR、RVR寄存器,选择system core clk 作为滴答的时钟源,设定1秒钟中断一次,但是运行后,滴答定时器周期远小于1秒钟,查阅systick寄存器资料,原来RVR只有24位,单次最多计数为16777216,系统时钟为48M,延时1秒的话RVR=48000000>16777216,因此定时周期小于1秒,所以选用system core clk 不合适。按照滴答时钟寄存器说明,选用其2分频为时钟源,结果仍然不行。莫非不能直接使用滴答定时器吗?后来查阅KL26 datasheet,发现滴答CSR寄存器时钟源位为零时,滴答时钟为系统时钟的16分频,也就是说,RVR=3000000时就可以完成1秒定时。实验确实如此,不说了,传图。

main.png(10.26 KB, 下载次数: 0)

main函数


systick.png(18.58 KB, 下载次数: 0)

映射滴答中断函数


systick_deal1.png(2.83 KB, 下载次数: 0)

中断处理


run.png(19.11 KB, 下载次数: 0)

串口输出




                    

相关帖子

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

本版积分规则

156

主题

1488

帖子

5

粉丝