当前位置: 首页 > wzjs >正文

wordpress网站维护页面模板企业品牌推广

wordpress网站维护页面模板,企业品牌推广,制作网页的常用软件有哪些,网站建设需要什么软件有哪些🔍 原子操作 vs 非原子操作 特性原子操作 (Atomic)非原子操作 (Non-Atomic)定义不可中断的完整执行单元可被中断拆分的多步骤操作执行过程单指令完成(如 BSRR 写操作)需多指令完成(如“读-改-写”流程)中断影响不会被…

🔍 原子操作 vs 非原子操作

特性原子操作 (Atomic)非原子操作 (Non-Atomic)
定义不可中断的完整执行单元可被中断拆分的多步骤操作
执行过程单指令完成(如 BSRR 写操作)需多指令完成(如“读-改-写”流程)
中断影响不会被中断打断可能被中断打断导致数据不一致
线程安全天然安全(无需锁)需额外同步机制(如关中断/互斥锁)
硬件支持由CPU指令直接保证依赖软件保护
典型场景STM32的 BSRR/BRR 寄存器操作STM32的 ODR 直接修改

⚠️ 非原子操作的风险场景(以STM32的ODR为例)

假设在 主循环 和 中断函数 中同时修改 GPIOA->ODR

// 主程序流程
void main() {GPIOA->ODR |= (1 << 5);  // 步骤1: 读取ODR// 步骤2: 修改bit5// 步骤3: 写回ODR
}// 中断服务函数
void TIM_IRQHandler() {GPIOA->ODR |= (1 << 6);  // 在步骤1-3之间可能被触发!
}
危险时序
主程序: [读ODR] -> [改bit5]   -> [写回ODR]│         ▲          ▲
中断触发: └─────────┘          │[读ODR] -> [改bit6] -> [写回ODR]

结果
主程序对 PA5 的修改被中断中的 PA6 修改覆盖,导致 PA5 设置失败!


🛡️ 为什么BSRR是原子操作?

STM32 的 BSRR 寄存器设计精妙:

// 置位PA5(低16位有效)
GPIOA->BSRR = (1 << 5);     // 单指令完成:0→1// 清零PA5(高16位有效)
GPIOA->BSRR = (1 << (5 + 16)); // 单指令完成:1→0

硬件机制

  • CPU 通过单次总线写操作修改 BSRR

  • 硬件自动解析位操作,直接改变ODR状态

  • 无中间状态,不会被中断打断


🔧 非原子操作的解决方案

1. 关中断保护(裸机系统)
__disable_irq();                 // 关中断
GPIOA->ODR |= (1 << 5);          // 安全修改
__enable_irq();                  // 开中断
2. 互斥锁(RTOS系统)
osMutexAcquire(gpio_mutex, osWaitForever);  // 获取锁
GPIOA->ODR |= (1 << 5);                     
osMutexRelease(gpio_mutex);                 // 释放锁
3. 硬件原子指令(Cortex-M3/4/7)
// 使用LDREX/STREX指令(需汇编或C封装)
__atomic_or_fetch(&GPIOA->ODR, (1<<5), __ATOMIC_SEQ_CST);

💡 关键理解

  1. 原子性 = 操作不可分割
    像物理学中的原子一样不可再分,要么完整执行,要么完全不执行。

  2. 非原子操作的本质风险
    数据竞争(Data Race):多个执行流(主程序+中断/多线程)同时访问共享资源(如ODR寄存器)且至少一方在写。

  3. 嵌入式场景的典型非原子操作

    • 多步寄存器修改(如 ODRCR 等)

    • 非对齐数据访问(如32位机读写64位数据)

    • 外设状态机切换(如先读标志位再写命令)


📚 现实类比

场景原子操作非原子操作
银行转账金库直接搬钱先查账→计算→写回
交通控制整条路封闭施工车道轮流放行
GPIO控制BSRR直接开关LEDODR分步修改

非原子操作如同「拆墙时被人塞新砖」—— 最终墙体状态不可预测!

http://www.dtcms.com/wzjs/396815.html

相关文章:

  • 南宁哪里有网站建设培训班seo标题优化的方法
  • 响应式网页设计项目seo网络推广报价
  • 青海小学网站建设电商网课
  • app开发网站建设公司线上推广产品
  • 个人建设纪检网站谷歌广告代理
  • 针对人群不同 网站做细分网站快速优化排名方法
  • 做系统前怎么保存网站上的收藏2019网站seo
  • 建设网站的意义作用是什么意思市场调研报告1500字
  • 做书籍的网站种子搜索神器在线搜
  • wordpress 4.7 多站点成都网络营销推广
  • 企业文化墙内容设计seo网络营销的技术
  • 如何做弹幕视频网站网络推广员的工作内容和步骤
  • 武汉大型网站建设谷歌关键词搜索排名
  • 建设企业功能型网站百度seo文章
  • 无锡网站建设哪家好做一个app软件大概要多少钱
  • 做网站自己买域名现在推广一般都用什么软件
  • 网站内容全屏截屏怎么做优化营商环境条例全文
  • 北京网站设计联系电话百度网盘搜索引擎入口哪里
  • 58和百度哪个推广效果好廊坊seo排名
  • 武汉做网站公司hlbzxseo关键字优化
  • 双语网站建设定制开发山东seo网页优化外包
  • 礼品兑换网站怎么做国外推广网站
  • 安徽建设信息网免费发布网站seo外链
  • 东莞网站优化有哪些福州排名seo公司
  • 龙岗网站 建设seo信科网站排名点击工具
  • nas可以做网站下载服务器吗搜索引擎广告形式有哪些
  • 西安市做网站的公司百度付费推广有几种方式
  • 网站做鸭2345网址导航智能主板
  • 宁波批发网站制作站长工具排名查询
  • 网站建设安全性原则网站搭建费用