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

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

[复制链接]
sky_han 发布时间:2018-12-19 09:27
ST的开发库,在开始的系统初始化里调用了系统时钟滴答的初始化,这样就产生了TICK,然后整个开发的包里驱动很多有时间有关的都
" [( Y$ ~2 s7 G  [调用了HAL_GetTick函数,做基于时间的判断。2 o% O6 T* _+ E2 D. k  Y/ y
现在在我的项目里,我不想有这一个中断,因为我的系统中断很多,不想再要多余的中断,
& t* h0 f6 y1 ~3 L/ I
# p) t$ N; D* U# z9 D所以我就关掉了systick,这会影响我的驱动函数吗?5 M8 V2 a, r5 j; J# L
& P0 E5 T- k1 e8 \

; E4 ^2 s4 Z5 Q# Y8 L. |, N) I 12_04.jpg $ R$ a% u( i7 D
赞 收藏 评论13 发布时间:2018-12-19 09:27

举报

13个回答
Dandjinh 回答时间:2018-12-19 10:42:33
当然影响,HAL的库都是用HAL_GetTick()来做超时的,你屏蔽了可以说基本就瘫痪了。
$ j2 U4 J$ M! P+ L" W不过HAL_IncTick和HAL_GetTick都是__weak函数,你可以自己实现它们的功能。, n* n( `8 w5 s3 J0 D1 l& q+ w
不过一定要实现,不然HAL库就废了。
七哥 回答时间:2018-12-19 10:04:50
不影响,只要程序中不使用HAL_Delay(),那就没关系。
sky_han 回答时间:2018-12-19 10:11:11
toofree 发表于 2018-12-19 10:04
& E" t. M# Q; g  W不影响,只要程序中不使用HAL_Delay(),那就没关系。
% O( n# m6 O" u! F% ?. g
我看到驱动中有很多地方调用这个函数与其他的时间进行比较,我这个不使用的话,就是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
& `: M2 `% D, s! F' a$ a3 m有影响,比如串口驱动中,超时就是通过GetTick来实现的,必须要有系统时基

+ Q9 Y& ^8 T8 K  R我看了很多驱动的超时都是基于这个TICK判断的,但是如果我没有这个时钟,get tick就是0, 0 这个值不会影响功能,但是超时的作用没有了
七哥 回答时间:2018-12-19 17:38:24
sky_han 发表于 2018-12-19 10:11
1 A! ~- C$ K2 e! Q( M) f我看到驱动中有很多地方调用这个函数与其他的时间进行比较,我这个不使用的话,就是0,还是很担心,您是 ...
+ J# n  g: x8 }& [) Q$ i
systick可以开着,只是不开中断而已。! h# e& {1 X! q$ }9 m4 @6 ~- [% A
然后把HAL_GetTick()改造一下,读出systick计数值,把时间差算出来。
sky_han 回答时间:2018-12-19 18:09:29
toofree 发表于 2018-12-19 17:38
% [1 n; l$ `" B& Psystick可以开着,只是不开中断而已。
7 s. `3 g* h9 a5 ]' v9 j然后把HAL_GetTick()改造一下,读出systick计数值,把时间差算出来 ...

& k5 F/ l; U0 j( XST原厂的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 手机版