原子操作(笔记)

定义:不可中断的一个或一系列操作。


实现:

         X86平台------------通过CPU提供了在指令执行期间对总线加锁的手段,CPU上有一根引线 HLOCK pin连接到北桥,如果汇编语言的程序中在一条指令前面加上前缀 “LOCK”, 经过汇编以后的机器代码就使CPU在执行这条指令的时候把 HLOCK pin的电位拉低,持续到指令结束时放开,从而把代码总线锁住,同一总线上别的CPU就暂时不能通过     总      线访问内存了,保证了指令在多处理器环境中的原子性。

          其他平台-----------通过关闭中断实现原子操作 | 通过CMPXCHG系列的指令来实现原子操作



         





### 正点原子STM32相关笔记与教程概览 #### STM32外部中断配置 在正点原子STM32F103的学习资料中,对于STM32外部中断的配置有详细的说明。具体来说,在`stm32f10x.h`文件中的枚举类型`IRQn_Type`定义了各个外设对应的中断号,这有助于开发者了解不同通道和中断之间的关联[^1]。 ```c // 示例:获取特定线上的中断编号 extern ITStatus EXTI_GetITStatus(uint8_t EXTI_Line); ``` #### 库函数工程模板创建 针对STM32F103ZET6型号,建立基于标准外设库的新项目时,需按照指定路径找到必要的CMSIS支持文件并将其复制至用户工作区内的USER目录下。这些文件包括但不限于`stm32f10x.h`, `system_stm32f10x.c`, 和`system_stm32f10x.h`. 同样地, 来自模板项目的源码文件也需要被移动过来以便于后续开发工作的开展[^2]. ```bash cp -r /path/to/STM32F10x_StdPeriph_Lib/Libraries/CMSIS/* ./USER/ cp -r /path/to/STM32F10x_StdPeriph_Template/*.c ./USER/ cp -r /path/to/STM32F10x_StdPeriph_Template/*.h ./USER/ ``` #### 基本定时器的理解 有关基本定时器的工作机制及其应用实例可以在正点原子提供的学习材料里寻得详尽解析。这里不仅涵盖了定时器的基础概念介绍,还深入探讨了一些实现细节和技术要点,帮助读者更好地掌握这一重要组件的功能特性[^3]. #### GPIO操作实践案例分析 以跑马灯实验为例,展示了如何利用GPIO接口控制LED显示效果的具体方法。特别值得注意的是,该文档解释了PFout()函数的作用以及它同底层硬件资源间的映射关系,这对于理解STM32微控制器内部结构非常有益处[^4].
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值