发新帖我要提问
12
返回列表
打印
[STM32F1]

什么是__HAL_Lock()

[复制链接]
楼主: zwll
手机看帖
扫描二维码
随时随地手机跟帖
21
bestwell| | 2023-5-18 13:58 | 只看该作者 回帖奖励 |倒序浏览
__HAL_Lock()是一种用于多线程保护的函数,常用于STM32 HAL库中。

使用特权

评论回复
22
Pretext| | 2023-5-18 14:06 | 只看该作者
zwll 发表于 2022-4-17 21:03
在STM32提供的F4 CUBE库,stm32f4XX_hal_def.h中提供了如下代码:

#if (USE_RTOS == 1)

从代码上看不出来具体是锁什么的。

使用特权

评论回复
23
天天向善| | 2023-5-18 14:06 | 只看该作者
要看这个函数用在什么地方才知道是干嘛的。

使用特权

评论回复
24
芯路例程| | 2023-5-18 14:08 | 只看该作者
zwll 发表于 2022-4-17 21:03
在STM32提供的F4 CUBE库,stm32f4XX_hal_def.h中提供了如下代码:

#if (USE_RTOS == 1)

应该有相应的配置选择RTOS,如果直接改#define USE_RTOS 1,就出问题了。

使用特权

评论回复
25
modesty3jonah| | 2023-5-18 14:43 | 只看该作者
使用宏 __HAL_LOCK() 锁死

使用特权

评论回复
26
nomomy| | 2023-5-18 15:09 | 只看该作者
在禁止中断期间,其他任务无法访问共享资源,从而避免了竞态条件的发生。

使用特权

评论回复
27
fengm| | 2023-5-18 15:22 | 只看该作者
如果多个任务同时访问共享资源,就会出现数据不一致或数据损坏等问题。这时就需要采取某种方式来解决这个问题

使用特权

评论回复
28
wilhelmina2| | 2023-5-18 15:57 | 只看该作者
当任务结束访问共享资源后,可以调用__HAL_Unlock()函数,重新使能全局中断开关,从而允许其他任务访问共享资源。

使用特权

评论回复
29
sanfuzi| | 2023-5-21 10:07 | 只看该作者
当某个任务需要访问共享资源时,它可以调用__HAL_Lock()函数,禁用全局中断开关,并且保存当前中断状态。

使用特权

评论回复
30
albertaabbot| | 2023-5-21 11:42 | 只看该作者
该函数通过关闭全局中断开关(Interrupts)来禁止对共享资源的访问,从而实现对共享资源的互斥保护。

使用特权

评论回复
31
burgessmaggie| | 2023-5-21 11:52 | 只看该作者
__HAL_Lock()是一种用于多线程保护的函数,常用于STM32 HAL库中。

使用特权

评论回复
32
alvpeg| | 2023-5-21 14:20 | 只看该作者
当任务结束访问共享资源后,可以调用__HAL_Unlock()函数,重新使能全局中断开关,从而允许其他任务访问共享资源。

使用特权

评论回复
33
earlmax| | 2023-5-21 15:13 | 只看该作者
在禁止中断期间,其他任务无法访问共享资源,从而避免了竞态条件的发生。

使用特权

评论回复
34
wangdezhi| | 2023-5-21 16:09 | 只看该作者
如果多个任务同时访问共享资源,就会出现数据不一致或数据损坏等问题。这时就需要采取某种方式来解决这个问题

使用特权

评论回复
35
youtome| | 2023-5-21 16:36 | 只看该作者
__HAL_Lock()函数只能保护共享资源的访问,不能保护代码段的执行顺序。

使用特权

评论回复
36
burgessmaggie| | 2023-5-21 17:21 | 只看该作者
使用宏 __HAL_LOCK() 锁死

使用特权

评论回复
37
理想阳| | 2023-5-24 15:45 | 只看该作者
好的,我来日诰日去单元试一下,多谢列位大侠了哈

使用特权

评论回复
38
digit0| | 2023-5-25 16:06 | 只看该作者
然后,你怎么处理这个

使用特权

评论回复
39
AIsignel| | 2023-5-25 17:23 | 只看该作者
我该怎么在rtos中利用串口的dma传输,

使用特权

评论回复
40
Jacquetry| | 2023-5-25 22:31 | 只看该作者
应该是防止多个进程同时操作一个变量的吧

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则