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

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

[复制链接]
sky_han 发布时间:2018-12-19 09:27
ST的开发库,在开始的系统初始化里调用了系统时钟滴答的初始化,这样就产生了TICK,然后整个开发的包里驱动很多有时间有关的都* z/ o3 Z  R: |1 P
调用了HAL_GetTick函数,做基于时间的判断。2 P- L. d0 x$ J0 k/ n- D0 K9 d, W$ I
现在在我的项目里,我不想有这一个中断,因为我的系统中断很多,不想再要多余的中断,
; Q7 ?# H" o5 D- Z. F1 O
2 ~0 Z! \  q3 g) p5 N* @所以我就关掉了systick,这会影响我的驱动函数吗?& s- O) q9 l- m6 o9 U

% T& T% }& _. K) Q6 }6 k3 i
. C- D4 i! s9 q7 ^% H" I 12_04.jpg
5 \0 y9 ^6 D4 S
收藏 评论13 发布时间:2018-12-19 09:27

举报

13个回答
Dandjinh 回答时间:2018-12-19 10:42:33
当然影响,HAL的库都是用HAL_GetTick()来做超时的,你屏蔽了可以说基本就瘫痪了。
+ `* A7 |0 Y9 o4 e/ U不过HAL_IncTick和HAL_GetTick都是__weak函数,你可以自己实现它们的功能。
9 H$ e# P4 |6 P0 p$ N( _' a不过一定要实现,不然HAL库就废了。
七哥 回答时间:2018-12-19 10:04:50
不影响,只要程序中不使用HAL_Delay(),那就没关系。
sky_han 回答时间:2018-12-19 10:11:11
toofree 发表于 2018-12-19 10:04
: z! t5 i% T9 m* z/ o不影响,只要程序中不使用HAL_Delay(),那就没关系。

, A9 p; e/ _8 [" [- j) j我看到驱动中有很多地方调用这个函数与其他的时间进行比较,我这个不使用的话,就是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
9 d$ Y2 }6 @1 U, h( K* `! B' J有影响,比如串口驱动中,超时就是通过GetTick来实现的,必须要有系统时基

- M5 l4 L, C! Q0 s4 N我看了很多驱动的超时都是基于这个TICK判断的,但是如果我没有这个时钟,get tick就是0, 0 这个值不会影响功能,但是超时的作用没有了
七哥 回答时间:2018-12-19 17:38:24
sky_han 发表于 2018-12-19 10:11
; `4 S5 e7 d, l/ S. }我看到驱动中有很多地方调用这个函数与其他的时间进行比较,我这个不使用的话,就是0,还是很担心,您是 ...

# P( j, x6 x$ E" ^1 [5 |systick可以开着,只是不开中断而已。: v1 r9 a* L* L$ X( r8 @" M$ P$ S
然后把HAL_GetTick()改造一下,读出systick计数值,把时间差算出来。
sky_han 回答时间:2018-12-19 18:09:29
toofree 发表于 2018-12-19 17:38% ?/ W* T% Y8 G3 ]% k
systick可以开着,只是不开中断而已。' i: l1 I- h  k, z; Z" ~& t9 u
然后把HAL_GetTick()改造一下,读出systick计数值,把时间差算出来 ...

( d7 y3 u  M/ g: |. z/ d0 IST原厂的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管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版