当前位置:网站首页>B_QuRT_User_Guide(39)
B_QuRT_User_Guide(39)
2022-07-07 21:52:00 【weixin_38498942】
B_QuRT_User_Guide(39)
- 27 原子操作
- 27.1 qurt_atomic_set()
- 27.2 qurt_atomic_and()
- 27.3 qurt_atomic_and_return()
- 27.4 qurt_atomic_or()
- 27.5 qurt_atomic_or_return()
- 27.6 qurt_atomic_xor()
- 27.7 qurt_atomic_xor_return()
- 27.8 qurt_atomic_set_bit()
- 27.9 qurt_atomic_clear_bit()
- 27.10 qurt_atomic_change_bit()
- 27.11 qurt_atomic_add()
- 27.12 qurt_atomic_add_return()
- 27.13 qurt_atomic_add_unless()
- 27.14 qurt_atomic_sub()
- 27.15 qurt_atomic_sub_return()
- 27.16 qurt_atomic_inc()
- 27.17 qurt_atomic_inc_return()
- 27.18 qurt_atomic_dec()
27 原子操作
QuRT 内核原子操作可通过以下章节中的 QuRT 函数访问。
27.1 qurt_atomic_set()
27.1.1 功能文档
27.1.1.1 static QURT_INLINE unsigned int qurt_atomic_set ( unsigned int ∗ target,unsigned int value )
设置具有指定值的原子变量。
注意:该函数会重试,直到加载锁定和条件存储成功。
参数
| in,out | target | 指向原子变量的指针。 |
| in | value | 要设置的值。 |
返回值
值成功设置。
依赖项
None.
27.2 qurt_atomic_and()
27.2.1 功能文档
27.2.1.1 static QURT_INLINE void qurt_atomic_and ( unsigned int ∗ target, unsigned int mask )
带有掩码的原子变量的按位与运算。
注意:该函数会重试,直到加载锁定和条件存储成功。
参数
| in,out | target | 指向原子变量的指针。 |
| in | mask | 按位与的掩码。 |
返回值
None.
依赖项
None.
27.3 qurt_atomic_and_return()
27.3.1 功能文档
27.3.1.1 static QURT_INLINE unsigned int qurt_atomic_and_return ( unsigned int ∗target, unsigned int mask )
带有掩码的原子变量的按位与运算。
注意:函数重试直到加载锁定和条件存储成功。
参数
| in,out | target | 指向原子变量的指针。 |
| in | mask | 按位与的掩码。 |
返回值
带有掩码的原子变量的 AND 结果。
依赖项
None.
27.4 qurt_atomic_or()
27.4.1 功能文档
27.4.1.1 static QURT_INLINE void qurt_atomic_or ( unsigned int ∗ target, unsigned int mask )
带有掩码的原子变量的按位或运算。
注意:该函数会重试,直到加载锁定和条件存储成功。
参数
| in,out | target | 指向原子变量的指针。 |
| in | mask | 按位或的掩码。 |
返回值
None.
依赖项
None.
27.5 qurt_atomic_or_return()
27.5.1 功能文档
27.5.1.1 static QURT_INLINE unsigned int qurt_atomic_or_return ( unsigned int ∗target, unsigned int mask )
带有掩码的原子变量的按位或运算。
注意:该函数会重试,直到加载锁定和条件存储成功。
参数
| in,out | target | 指向原子变量的指针。 |
| in | mask | 按位或的掩码。 |
返回值
返回带有掩码的原子变量的 OR 结果。
依赖项
None.
27.6 qurt_atomic_xor()
27.6.1 功能文档
27.6.1.1 static QURT_INLINE void qurt_atomic_xor ( unsigned int ∗ target, unsigned int mask )
带有掩码的原子变量的按位异或运算。
注意:该函数会重试,直到加载锁定和条件存储成功。
参数
| in,out | target | 指向原子变量的指针。 |
| in | mask | 按位异或的掩码。 |
返回值
None.
依赖项
None.
27.7 qurt_atomic_xor_return()
27.7.1 功能文档
27.7.1.1 static QURT_INLINE unsigned int qurt_atomic_xor_return ( unsigned int ∗target, unsigned int mask )
带有掩码的原子变量的按位异或运算。
注意:该函数会重试,直到加载锁定和条件存储成功。
参数
| in,out | target | 指向原子变量的指针。 |
| in | mask | 按位异或的掩码。 |
返回值
带有掩码的原子变量的异或结果。
依赖项
None.
27.8 qurt_atomic_set_bit()
27.8.1 功能文档
27.8.1.1 static QURT_INLINE void qurt_atomic_set_bit ( unsigned int ∗ target,unsigned int bit )
在原子变量中的指定位置设置一个位。
注意:该函数会重试,直到加载锁定和条件存储成功。
参数
| in,out | target | 指向原子变量的指针。 |
| in | bit | 要设置的bit位置。 |
返回值
None.
依赖项
None.
27.9 qurt_atomic_clear_bit()
27.9.1 功能文档
27.9.1.1 static QURT_INLINE void qurt_atomic_clear_bit ( unsigned int ∗ target,unsigned int bit )
清除原子变量中指定位置的位。
注意:该函数会重试,直到加载锁定和条件存储成功。
参数
| in,out | target | 指向原子变量的指针。 |
| in | bit | 要清除的bit位置。 |
返回值
None.
依赖项
None.
27.10 qurt_atomic_change_bit()
27.10.1 功能文档
27.10.1.1 static QURT_INLINE void qurt_atomic_change_bit ( unsigned int ∗ target,unsigned int bit )
在bit位置的原子变量中切换位。
注意:该函数会重试,直到加载锁定和条件存储成功。
参数
| in,out | target | 指向原子变量的指针。 |
| in | bit | 要切换的bit位置。 |
返回值
None.
依赖项
None.
27.11 qurt_atomic_add()
27.11.1 功能文档
27.11.1.1 static QURT_INLINE void qurt_atomic_add ( unsigned int ∗ target, unsigned int v )
将整数加到原子变量。
注意:该函数会重试,直到加载锁定和条件存储成功。
参数
| in,out | target | 指向原子变量的指针。 |
| in | v | 要添加的整数值。 |
返回值
None.
依赖项
None.
27.12 qurt_atomic_add_return()
27.12.1 功能文档
27.12.1.1 static QURT_INLINE unsigned int qurt_atomic_add_return ( unsigned int ∗target, unsigned int v )
将整数加到原子变量。
注意:该函数会重试,直到加载锁定和条件存储成功。
参数
| in,out | target | 指向原子变量的指针。 |
| in | v | 要添加的整数值。 |
返回值
算术和的结果。
依赖项
None.
27.13 qurt_atomic_add_unless()
27.13.1 功能文档
27.13.1.1 static QURT_INLINE unsigned int qurt_atomic_add_unless ( unsigned int ∗target, unsigned int delta, unsigned int unless )
将增量值加到原子变量,除非目标中的当前值与除非变量匹配。
注意:该函数会重试,直到加载锁定和条件存储成功。
参数
| in,out | target | 指向原子变量的指针。 |
| in | delta | 加到当前值的值。 |
| in | unless | 仅当当前值不等于unless值时才执行加法。 |
返回值
TRUE 1 - 执行了加法。
FALSE 0 - 加法未完成。
依赖项
None.
27.14 qurt_atomic_sub()
27.14.1 功能文档
27.14.1.1 static QURT_INLINE void qurt_atomic_sub ( unsigned int ∗ target, unsigned int v )
从原子变量中减去一个整数。
注意:该函数会重试,直到加载锁定和条件存储成功。
参数
| in,out | target | 指向原子变量的指针。 |
| in | v | 要减去的整数值。 |
返回值
None.
依赖项
None.
27.15 qurt_atomic_sub_return()
27.15.1 功能文档
27.15.1.1 static QURT_INLINE unsigned int qurt_atomic_sub_return ( unsigned int ∗target, unsigned int v )
从原子变量中减去一个整数。
注意:该函数会重试,直到加载锁定和条件存储成功。
参数
| in,out | target | 指向原子变量的指针。 |
| in | v | 要减去的整数值。 |
返回值
算术减法的结果。
依赖项
None.
27.16 qurt_atomic_inc()
27.16.1 功能文档
27.16.1.1 static QURT_INLINE void qurt_atomic_inc ( unsigned int ∗ target )
将原子变量加一。
注意:该函数会重试,直到加载锁定和条件存储成功。
参数
| in,out | target | 指向原子变量的指针。 |
返回值
None.
依赖项
None.
27.17 qurt_atomic_inc_return()
27.17.1 功能文档
27.17.1.1 static QURT_INLINE unsigned int qurt_atomic_inc_return ( unsigned int ∗target )
将原子变量加一。
注意:该函数会重试,直到加载锁定和条件存储成功。
参数
| in,out | target | 指向原子变量的指针。 |
返回值
增量值。
依赖项
None.
27.18 qurt_atomic_dec()
27.18.1 功能文档
27.18.1.1 static QURT_INLINE void qurt_atomic_dec ( unsigned int ∗ target )
将原子变量减一。
注意:该函数会重试,直到加载锁定和条件存储成功。
参数
| in,out | target | 指向原子变量的指针。 |
返回值
None.
依赖项
None.
边栏推荐
- 2022第六季完美童模陕西总决赛圆满落幕
- Dynamics 365 find field filtering
- FPGA基础篇目录
- Coreseek: the second step is index building and testing
- Network security - phishing
- Wechat forum exchange applet system graduation design (2) applet function
- ROS2专题(03):ROS1和ROS2的区别【02】
- Unity3d Learning Notes 6 - GPU instantiation (1)
- Why does the market need low code?
- 做自媒体视频剪辑怎么赚钱呢?
猜你喜欢

Wechat forum exchange applet system graduation design completion (7) Interim inspection report

高效的S2B2C电商系统,是这样帮助电子材料企业提升应变能力的

Inftnews | the wide application of NFT technology and its existing problems

In the field of software engineering, we have been doing scientific research for ten years!

LDO稳压芯片-内部框图及选型参数

Gee (IV): calculate the correlation between two variables (images) and draw a scatter diagram

建筑建材行业SRM供应商云协同管理平台解决方案,实现业务应用可扩展可配置

深入理解Mysql锁与事务隔离级别
![Ros2 topic (03): the difference between ros1 and ros2 [02]](/img/12/244ea30b5b141a0f47a54c08f4fe9f.png)
Ros2 topic (03): the difference between ros1 and ros2 [02]

Wechat forum exchange applet system graduation design completion (1) development outline
随机推荐
Bea-3xxxxx error code
HDU 4747 mex "recommended collection"
ROS2专题(03):ROS1和ROS2的区别【01】
Adults have only one main job, but they have to pay a price. I was persuaded to step back by personnel, and I cried all night
LeeCode -- 6. Zigzag transformation
七月第一周
伸展树(一) - 图文解析与C语言实现
Wechat forum exchange applet system graduation design completion (6) opening defense ppt
Network security - information query of operating system
Inftnews | web5 vs Web3: the future is a process, not a destination
深入理解Mysql锁与事务隔离级别
Cloud native is devouring everything. How should developers deal with it?
JMeter interface automated test read case, execute and write back result
生鲜行业数字化采购管理系统:助力生鲜企业解决采购难题,全程线上化采购执行
Matlab SEIR infectious disease model prediction
Cloud native data warehouse analyticdb MySQL user manual
解决:信息中插入avi格式的视频时,提示“unsupported video format”
Grid
Wechat forum exchange applet system graduation design completion (8) graduation design thesis template
Two kinds of curves in embedded audio development