硬汉嵌入式论坛

 找回密码
 立即注册
查看: 520|回复: 9
收起左侧

[其它] 请教坛主,cortex M系列里systick的问题

[复制链接]

59

主题

282

回帖

459

积分

高级会员

积分
459
发表于 2023-10-16 14:58:22 | 显示全部楼层 |阅读模式
本帖最后由 tangqianfeng 于 2023-10-16 14:59 编辑

在调用systick的设置里,都是将load配置为(ticks-1), val配置为0,按这样的配置,systick的首次中断是发生在什么时候? 手册上说的是当val到零时,会自动重装并产生中断,比较困惑,找不到详细说明
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106678
QQ
发表于 2023-10-16 15:30:26 | 显示全部楼层
M内核权威指南里面有说明。
回复

使用道具 举报

59

主题

282

回帖

459

积分

高级会员

积分
459
 楼主| 发表于 2023-10-16 15:41:33 | 显示全部楼层
eric2013 发表于 2023-10-16 15:30
M内核权威指南里面有说明。

没有找到详细的说明,只是说减到零时会重载load的值,设置val为0,这样不是一使能就产生中断了么?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106678
QQ
发表于 2023-10-16 18:06:12 | 显示全部楼层
tangqianfeng 发表于 2023-10-16 15:41
没有找到详细的说明,只是说减到零时会重载load的值,设置val为0,这样不是一使能就产生中断了么?

SysTick->LOAD  = (uint32_t)(ticks - 1UL);
SysTick->VAL   = 0UL;  

应该是先加载LOAD,然后执行中断,可以实测下。
回复

使用道具 举报

2

主题

33

回帖

39

积分

新手上路

积分
39
发表于 2023-10-19 13:11:43 | 显示全部楼层
VAL寄存器是当前计数值,属性是R/Wc,写0是为了清空寄存器,第一次启动systick,就会把重装载值load到VAL
回复

使用道具 举报

59

主题

282

回帖

459

积分

高级会员

积分
459
 楼主| 发表于 2023-10-19 17:37:04 | 显示全部楼层
木偶 发表于 2023-10-19 13:11
VAL寄存器是当前计数值,属性是R/Wc,写0是为了清空寄存器,第一次启动systick,就会把重装载值load到VAL

但我看freertos里的tickless,感觉减到0还不重载,要0再往下减1才重载,这样才能和load的值要减1对得上
回复

使用道具 举报

2

主题

33

回帖

39

积分

新手上路

积分
39
发表于 2023-10-19 19:23:40 | 显示全部楼层
tangqianfeng 发表于 2023-10-19 17:37
但我看freertos里的tickless,感觉减到0还不重载,要0再往下减1才重载,这样才能和load的值要减1对得上

0本身是会有一次count的,每个数值都是有一次count
回复

使用道具 举报

59

主题

282

回帖

459

积分

高级会员

积分
459
 楼主| 发表于 2023-10-19 21:57:48 | 显示全部楼层
木偶 发表于 2023-10-19 19:23
0本身是会有一次count的,每个数值都是有一次count

是的,而且中断的出发是val由1变0时
回复

使用道具 举报

210

主题

1042

回帖

1682

积分

至尊会员

More we do, more we can do.

积分
1682
发表于 2023-10-21 14:02:18 | 显示全部楼层
按架构参考手册中断发生在“Count transition from 1 to 0.”
回复

使用道具 举报

59

主题

282

回帖

459

积分

高级会员

积分
459
 楼主| 发表于 2023-10-21 14:04:38 | 显示全部楼层
emwin 发表于 2023-10-21 14:02
按架构参考手册中断发生在“Count transition from 1 to 0.”

是的               
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-4-29 08:57 , Processed in 0.287173 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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