你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

ST的开发库驱动里很多用到了HAL_GetTick

[复制链接]
sky_han 发布时间:2018-12-19 09:27
ST的开发库,在开始的系统初始化里调用了系统时钟滴答的初始化,这样就产生了TICK,然后整个开发的包里驱动很多有时间有关的都
. I4 |) j. ?) {0 E5 {! u& r" ~+ A4 V调用了HAL_GetTick函数,做基于时间的判断。
7 m/ P# y: s9 R, a% z* v! }' X现在在我的项目里,我不想有这一个中断,因为我的系统中断很多,不想再要多余的中断,- d0 Q2 w( a( l# k! T; B9 C
% P4 v& r9 d9 X: G0 ^) a* i
所以我就关掉了systick,这会影响我的驱动函数吗?0 W9 [3 s% o+ {7 `5 ?0 x
0 _4 _5 H8 b* r& g# B  j; O
9 ~. w* d! a; V
12_04.jpg 1 f2 ~% R- R" ~2 D
赞 收藏 评论13 发布时间:2018-12-19 09:27

举报

13个回答
Dandjinh 回答时间:2018-12-19 10:42:33
当然影响,HAL的库都是用HAL_GetTick()来做超时的,你屏蔽了可以说基本就瘫痪了。
) b5 B7 c4 x3 e* S" {; `不过HAL_IncTick和HAL_GetTick都是__weak函数,你可以自己实现它们的功能。5 m) |$ I$ Y* E: Q
不过一定要实现,不然HAL库就废了。
七哥 回答时间:2018-12-19 10:04:50
不影响,只要程序中不使用HAL_Delay(),那就没关系。
sky_han 回答时间:2018-12-19 10:11:11
toofree 发表于 2018-12-19 10:04* T5 X( q2 A, t% a, o2 d
不影响,只要程序中不使用HAL_Delay(),那就没关系。
( _8 V- j* S. M; B
我看到驱动中有很多地方调用这个函数与其他的时间进行比较,我这个不使用的话,就是0,还是很担心,您是否有其他的资料有说明这个地方的?
STM1024 回答时间:2018-12-19 12:28:21
GetTick应该不受影响吧,读取的应该是Systick的当前值。
qianfan 回答时间:2018-12-19 13:39:44
tanic 回答时间:2018-12-19 13:57:13
有影响,比如串口驱动中,超时就是通过GetTick来实现的,必须要有系统时基
sky_han 回答时间:2018-12-19 16:17:51
tanic 发表于 2018-12-19 13:57( j" X4 n6 }' L" y
有影响,比如串口驱动中,超时就是通过GetTick来实现的,必须要有系统时基

0 k: m# _* s0 k, r! }4 N我看了很多驱动的超时都是基于这个TICK判断的,但是如果我没有这个时钟,get tick就是0, 0 这个值不会影响功能,但是超时的作用没有了
七哥 回答时间:2018-12-19 17:38:24
sky_han 发表于 2018-12-19 10:11; b+ a6 K! Z& }8 R
我看到驱动中有很多地方调用这个函数与其他的时间进行比较,我这个不使用的话,就是0,还是很担心,您是 ...
  X+ o- O; K# R! a
systick可以开着,只是不开中断而已。2 H3 K. B" ~& c
然后把HAL_GetTick()改造一下,读出systick计数值,把时间差算出来。
sky_han 回答时间:2018-12-19 18:09:29
toofree 发表于 2018-12-19 17:38
3 e' A# [9 |/ u% ^: u8 P/ F* Tsystick可以开着,只是不开中断而已。- U5 i$ n* K+ n. v. c
然后把HAL_GetTick()改造一下,读出systick计数值,把时间差算出来 ...
! {( c; H; M# ?- Z1 K3 U
ST原厂的FAE能出来准确的回复吗
chrome777 回答时间:2018-12-26 08:53:55
如果有其他定时中断,可以把tick累加变量放到你的定时器中断里面,然后把systick关闭。
Kevin_G 回答时间:2018-12-26 09:49:16
???
Ankky 回答时间:2020-12-18 10:03:50
systick继续跑,只要不开systick中断就行了
ddllxxrr 回答时间:2020-12-18 16:14:43
支持楼上
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版