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

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

[复制链接]
sky_han 发布时间:2018-12-19 09:27
ST的开发库,在开始的系统初始化里调用了系统时钟滴答的初始化,这样就产生了TICK,然后整个开发的包里驱动很多有时间有关的都- D$ x( R1 O+ J  I+ U
调用了HAL_GetTick函数,做基于时间的判断。
1 r+ Y6 ]4 c' N. }$ h现在在我的项目里,我不想有这一个中断,因为我的系统中断很多,不想再要多余的中断,
# s- l0 t1 v& l8 c5 M- _9 |1 Z
: T' W0 q3 K8 Q1 i% U/ f所以我就关掉了systick,这会影响我的驱动函数吗?' S; q/ u  }# @

$ m3 T; l/ k9 g% n& b2 Q2 ]& A9 z$ |: R6 J
12_04.jpg & g5 `6 V$ T& t- g2 h
赞 收藏 评论13 发布时间:2018-12-19 09:27

举报

13个回答
Dandjinh 回答时间:2018-12-19 10:42:33
当然影响,HAL的库都是用HAL_GetTick()来做超时的,你屏蔽了可以说基本就瘫痪了。( P4 E0 u, @* u4 \4 A
不过HAL_IncTick和HAL_GetTick都是__weak函数,你可以自己实现它们的功能。% m0 P- I7 |; n* e! l  B- c
不过一定要实现,不然HAL库就废了。
七哥 回答时间:2018-12-19 10:04:50
不影响,只要程序中不使用HAL_Delay(),那就没关系。
sky_han 回答时间:2018-12-19 10:11:11
toofree 发表于 2018-12-19 10:04
$ G1 n5 J+ E; {, U不影响,只要程序中不使用HAL_Delay(),那就没关系。
! e2 q9 E" I: r/ h: e( A
我看到驱动中有很多地方调用这个函数与其他的时间进行比较,我这个不使用的话,就是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:576 b7 f3 ]- V1 O& I
有影响,比如串口驱动中,超时就是通过GetTick来实现的,必须要有系统时基
+ q5 C6 r2 N+ F8 S+ O
我看了很多驱动的超时都是基于这个TICK判断的,但是如果我没有这个时钟,get tick就是0, 0 这个值不会影响功能,但是超时的作用没有了
七哥 回答时间:2018-12-19 17:38:24
sky_han 发表于 2018-12-19 10:11
! o" F7 |5 E/ _/ n我看到驱动中有很多地方调用这个函数与其他的时间进行比较,我这个不使用的话,就是0,还是很担心,您是 ...
+ y+ Y; C1 @6 M: V
systick可以开着,只是不开中断而已。
0 E1 ~7 [- J/ G6 A然后把HAL_GetTick()改造一下,读出systick计数值,把时间差算出来。
sky_han 回答时间:2018-12-19 18:09:29
toofree 发表于 2018-12-19 17:38% h% F* e+ D, |# y2 d% H/ i
systick可以开着,只是不开中断而已。0 i. I$ ^3 `) r0 S- e! G! K; D
然后把HAL_GetTick()改造一下,读出systick计数值,把时间差算出来 ...
5 Y4 F5 q+ Z  G( p( Y
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 手机版