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

ARM 点灯

.text 
.global _start
_start: @led1@设置GPIOE时钟使能  RCC_MP_AHB4ENSETR[4]->1   0X50000A28LDR R0,=0X50000A28  @指定寄存器地址LDR R1,[R0]  @将寄存器数值取出来放在R1中ORR R1,R1,#(0x1<<4)  @将第4位设置为1STR R1,[R0] @将修改后的值写回去@设置PE10为输出  GPIOE_MODER[21:20]->01   0X50006000LDR R0,=0X50006000  @指定寄存器地址LDR R1,[R0]  @将寄存器数值取出来放在R1中BIC R1,R1,#(0x3<<20)  @将第[21:20]位设置为01ORR R1,R1,#(0x1<<20)STR R1,[R0] @将修改后的值写回去@设置PE10为推挽输出 GPIOE_OTYPER[10]->0  0X50006004LDR R0,=0X50006004  @指定寄存器地址LDR R1,[R0]  @将寄存器数值取出来放在R1中BIC R1,R1,#(0x1<<10)  @将第[10]位设置为0STR R1,[R0] @将修改后的值写回去@设置PE10为低速输出 GPIOE_OSPEEDR[21:20]->00  0x50006008LDR R0,=0X50006008  @指定寄存器地址LDR R1,[R0]  @将寄存器数值取出来放在R1中BIC R1,R1,#(0x3<<20)  @将第[21:20]位设置为01STR R1,[R0] @将修改后的值写回去@设置PE10输出时无上拉下拉电阻  GPIOE_PUPDR[21:20]->00  0X5000600CLDR R0,=0X5000600C  @指定寄存器地址LDR R1,[R0]  @将寄存器数值取出来放在R1中BIC R1,R1,#(0x3<<20)  @将第[21:20]位设置为01STR R1,[R0] @将修改后的值写回去@led2@设置GPIOE时钟使能  RCC_MP_AHB4ENSETR[5]->1   0X50000A28LDR R0,=0X50000A28  @指定寄存器地址LDR R1,[R0]  @将寄存器数值取出来放在R1中ORR R1,R1,#(0x1<<5)  @将第5位设置为1STR R1,[R0] @将修改后的值写回去@设置PF10为输出  GPIOE_MODER[21:20]->01   0X50007000LDR R0,=0X50007000  @指定寄存器地址LDR R1,[R0]  @将寄存器数值取出来放在R1中BIC R1,R1,#(0x3<<20)  @将第[21:20]位设置为01ORR R1,R1,#(0x1<<20)STR R1,[R0] @将修改后的值写回去@设置PF10为推挽输出 GPIOE_OTYPER[10]->0  0X50007004LDR R0,=0X50007004  @指定寄存器地址LDR R1,[R0]  @将寄存器数值取出来放在R1中BIC R1,R1,#(0x1<<10)  @将第[10]位设置为0STR R1,[R0] @将修改后的值写回去@设置PF10为低速输出 GPIOE_OSPEEDR[21:20]->00  0x50007008LDR R0,=0X50007008  @指定寄存器地址LDR R1,[R0]  @将寄存器数值取出来放在R1中BIC R1,R1,#(0x3<<20)  @将第[21:20]位设置为01STR R1,[R0] @将修改后的值写回去@设置PF10输出时无上拉下拉电阻  GPIOE_PUPDR[21:20]->00  0X5000700CLDR R0,=0X5000700C  @指定寄存器地址LDR R1,[R0]  @将寄存器数值取出来放在R1中BIC R1,R1,#(0x3<<20)  @将第[21:20]位设置为01STR R1,[R0] @将修改后的值写回去  @led1@LED3@设置GPIOE时钟使能  RCC_MP_AHB4ENSETR[4]->1   0X50000A28LDR R0,=0X50000A28  @指定寄存器地址LDR R1,[R0]  @将寄存器数值取出来放在R1中ORR R1,R1,#(0x1<<4)  @将第4位设置为1STR R1,[R0] @将修改后的值写回去@设置PE8为输出  GPIOE_MODER[17:16]->01   0X50006000LDR R0,=0X50006000  @指定寄存器地址LDR R1,[R0]  @将寄存器数值取出来放在R1中BIC R1,R1,#(0x3<<16)  @将第[17:16]位设置为01ORR R1,R1,#(0x1<<16)STR R1,[R0] @将修改后的值写回去@设置PE8为推挽输出 GPIOE_OTYPER[10]->0  0X50006004LDR R0,=0X50006004  @指定寄存器地址LDR R1,[R0]  @将寄存器数值取出来放在R1中BIC R1,R1,#(0x1<<8)  @将第[8]位设置为0STR R1,[R0] @将修改后的值写回去@设置PE8为低速输出 GPIOE_OSPEEDR[21:20]->00  0x50006008LDR R0,=0X50006008  @指定寄存器地址LDR R1,[R0]  @将寄存器数值取出来放在R1中BIC R1,R1,#(0x3<<20)  @将第[21:20]位设置为01STR R1,[R0] @将修改后的值写回去@设置PG10输出时无上拉下拉电阻  GPIOE_PUPDR[16:17]->00  0X5000600CLDR R0,=0X5000600C  @指定寄存器地址LDR R1,[R0]  @将寄存器数值取出来放在R1中BIC R1,R1,#(0x3<<16)  @将第[17:16]位设置为01STR R1,[R0] @将修改后的值写回去flash:bl led1_on  @灯亮bl delay  @延时bl led1_off  @灯灭bl delaybl led2_on  @灯亮bl delay  @延时bl led2_off  @灯灭bl delaybl led3_on  @灯亮bl delay  @延时bl led3_off  @灯灭bl delayb flashled1_on:@设置PE10输出高电平  GPIOE_ODR[10]->1   0x50006014LDR R0,=0X50006014  @指定寄存器地址LDR R1,[R0]  @将寄存器数值取出来放在R1中ORR R1,R1,#(0x1<<10)  @将第[10]位设置为1STR R1,[R0] @将修改后的值写回去mov pc,lrled1_off:@设置PE10输出高电平  GPIOE_ODR[10]->0   0x50006014LDR R0,=0X50006014  @指定寄存器地址LDR R1,[R0]  @将寄存器数值取出来放在R1中BIC R1,R1,#(0x1<<10)  @将第[10]位设置为0STR R1,[R0] @将修改后的值写回去mov pc,lrled2_on:@设置PF10输出高电平  GPIOE_ODR[10]->1   0x50007014LDR R0,=0X50007014  @指定寄存器地址LDR R1,[R0]  @将寄存器数值取出来放在R1中ORR R1,R1,#(0x1<<10)  @将第[10]位设置为1STR R1,[R0] @将修改后的值写回去mov pc,lrled2_off:@设置PF10输出高电平  GPIOE_ODR[10]->0   0x50007014LDR R0,=0X50007014  @指定寄存器地址LDR R1,[R0]  @将寄存器数值取出来放在R1中BIC R1,R1,#(0x1<<10)  @将第[10]位设置为0STR R1,[R0] @将修改后的值写回去mov pc,lrled3_on:@设置PG10输出高电平  GPIOE_ODR[10]->1   0x50006014LDR R0,=0X50006014  @指定寄存器地址LDR R1,[R0]  @将寄存器数值取出来放在R1中ORR R1,R1,#(0x1<<8)  @将第[8]位设置为1STR R1,[R0] @将修改后的值写回去mov pc,lrled3_off:@设置PG10输出高电平  GPIOE_ODR[10]->0   0x50006014LDR R0,=0X50006014  @指定寄存器地址LDR R1,[R0]  @将寄存器数值取出来放在R1中BIC R1,R1,#(0x1<<8)  @将第[8]位设置为0STR R1,[R0] @将修改后的值写回去mov pc,lrdelay:LDR  R3,=0x10000000
mm:cmp r3,#0subne r3,r3,#1bne mmmov pc,lr.end

相关文章:

ARM 点灯

.text .global _start _start: led1设置GPIOE时钟使能 RCC_MP_AHB4ENSETR[4]->1 0X50000A28LDR R0,0X50000A28 指定寄存器地址LDR R1,[R0] 将寄存器数值取出来放在R1中ORR R1,R1,#(0x1<<4) 将第4位设置为1STR R1,[R0] 将修改后的值写回去设置PE10为输出 GPIOE…...

CamSim相机模拟器:极大加速图像处理开发与验证过程

随着图像处理技术的不断发展&#xff0c;相机模拟在图像处理开发和验证中扮演着越来越重要的角色。相机模拟能够模拟真实相机的成像过程&#xff0c;提供高质量的图像输入&#xff0c;使开发人员能够更好地评估和调整图像处理算法。本文将探讨如何通过相机模拟来加速图像处理的…...

Google Ad帐号被封?代理IP和电子邮件可能是原因

海外广告投放工作中&#xff0c;账号是非常重要的环节。与在Facebook上运行广告相比&#xff0c;运行Google Ads在代理选择方面通常没有那么严格&#xff0c;因为 Google 对 IP 使用并不那么严格。但是&#xff0c;这并不意味着您可以不加考虑地使用任何代理IP。在本文中&#…...

EfficientNet

时间&#xff1a;2019 EfficicentNet网络简介 EfficientNet:Rethinking Model Scaling for Convolutional Neural Networkshttps://arxiv.org/abs/1905.11946,这篇论文是Google在2019年发表的文章。 EfficientNet这篇论文&#xff0c;作者同时关于输入分辨率&#xff0c;网络…...

百度每天20%新增代码由AI生成,Comate SaaS服务8000家客户 采纳率超40%

12月28日&#xff0c;由深度学习技术及应用国家工程研究中心主办的WAVE SUMMIT深度学习开发者大会2023在北京召开。百度首席技术官、深度学习技术及应用国家工程研究中心主任王海峰现场公布了飞桨文心五载十届最新生态成果&#xff0c;文心一言最新用户规模破1亿&#xff0c;截…...

产品管理-学习笔记-版本的划分

版本号说明【X.Y.Z_修饰词】 版本号定义原则X表示大版本号&#xff0c;一般当产品出现重大更新、调整、不再向后兼容的情况时我们会在X上加1Y表示功能更新&#xff0c;在产品原有的基础上增加、修改部分功能&#xff0c;且并不影响产品的整体流程或业务Z表示小修改&#xff0c…...

编程笔记 html5cssjs 004 我的第一个页面

编程笔记 html5&css&js 004 我的第一个页面 一、基本结构二、HTML标签三、HTML元素四、HTML属性五、编写第一个网页六、使用VSCODE小结 开始编写网页&#xff0c;并且使用第一个网页成为一个母板&#xff0c;用于完成后续内容的学习。有一个基本要求&#xff0c;显示结…...

为实体服务器配置Ubuntu

简介 我们在使用虚拟机时&#xff0c;直接在网上找到镜像然后下载到本地&#xff0c;在VMware创建实例时将该iso文件作为镜像源然后进行基础配置就可以轻松安装配置好Linux虚拟机。 在为实体服务器安装Linux系统&#xff0c;同样的&#xff0c;我们也需要镜像源&#xff08;即…...

单例模式的双重检查锁定是什么?

单例模式的双重检查锁定是什么&#xff1f; 单例模式是一种常见的设计模式&#xff0c;用于确保一个类只有一个实例&#xff0c;并提供一个全局访问点。双重检查锁定&#xff08;Double-Checked Locking&#xff09;是一种在单例模式中使用的性能优化技术。 在传统的单例模式…...

hyper-v ubuntu 3节点 k8s集群搭建

前奏 搭建一主二从的k8s集群&#xff0c;如图所示&#xff0c;准备3台虚拟机。 不会创建的同学&#xff0c;可以看我上上篇博客&#xff1a;https://blog.csdn.net/dawnto/article/details/135086252 和上篇博客&#xff1a;https://blog.csdn.net/dawnto/article/details/135…...

postman进阶使用

前言 对于postman的基础其实很容易上手实现&#xff0c;也有很多教程。 对于小编我来说&#xff0c;也基本可以实现开发任务。 但是今年我们的高级测试&#xff0c;搞了一下postman&#xff0c;省去很多工作&#xff0c;让我感觉很有必要学一下 这篇文章是在 高级测试工程师ht…...

errors包返回堆栈信息的性能测试

errors包返回堆栈信息的性能测试 上一篇Golang中使用errors返回调用堆栈信息 讲了使用第三方开源库的errors github.com/go-errors/errors&#xff0c;错误信息带调用栈&#xff0c;方便定位错误的抛出位置。 通过堆栈的信息来定位是方便了&#xff0c;性能怎么样&#xff0c…...

力扣热题100道-哈希篇

哈希 1.两数之和 给定一个整数数组 nums 和一个整数目标值 target&#xff0c;请你在该数组中找出 和为目标值 target 的那 两个 整数&#xff0c;并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是&#xff0c;数组中同一个元素在答案里不能重复出现。 你…...

YOLOv7+Pose姿态估计+tensort部署加速

YOLOv7是一种基于深度学习的目标检测算法&#xff0c;它能够在图像中准确识别出不同目标的位置和分类。而姿态估计pose和tensort则是一种用于实现人体姿态估计的算法&#xff0c;可以对人体的关节位置和方向进行精准的检测和跟踪。 下面我将分点阐述YOLOv7姿态估计posetensort…...

gitee+picgo+typora图床搭建

giteepicgotypora图床搭建 1.安装typora 官网下载直接安装&#xff1a;https://www.typora.io/#download 2.编辑typora图像设置 打开 文件 -> 偏好设置 -> 图像设置 插入图片时 选择 上传图片设置 上传服务 为 PicGo-Core(command line) 3.为typora安装PicGo-Core 点…...

Flink项目实战篇 基于Flink的城市交通监控平台(上)

系列文章目录 Flink项目实战篇 基于Flink的城市交通监控平台&#xff08;上&#xff09; Flink项目实战篇 基于Flink的城市交通监控平台&#xff08;下&#xff09; 文章目录 系列文章目录1. 项目整体介绍1.1 项目架构1.2 项目数据流1.3 项目主要模块 2. 项目数据字典2.1 卡口…...

thinkcmf 文件包含 x1.6.0-x2.2.3 已亲自复现

thinkcmf 文件包含 x1.6.0-x2.2.3 CVE-2019-16278 已亲自复现 漏洞名称漏洞描述影响版本 漏洞复现环境搭建漏洞利用 修复建议总结 漏洞名称 漏洞描述 ThinkCMF是一款基于PHPMYSQL开发的中文内容管理框架&#xff0c;底层采用ThinkPHP3.2.3构建。ThinkCMF提出灵活的应用机制&a…...

本地部署 text-generation-webui

本地部署 text-generation-webui 0. 背景1. text-generation-webui 介绍2. 克隆代码3. 创建虚拟环境4. 安装 pytorch5. 安装 CUDA 运行时库6. 安装依赖库7. 启动 Web UI8. 访问 Web UI9. OpenAI 兼容 API 0. 背景 一直喜欢用 FastChat 本地部署大语言模型&#xff0c;今天试一…...

C语言实验1:C程序的运行环境和运行C程序的方法

一、算法原理 这是学C语言的入门&#xff0c;并不需要很高深的知识&#xff0c;一个hello world 或者一个简单的加法即可 二、实验要求 了解所用的计算机系统的基本操作方法&#xff0c;学会独立使用该系统。 了解在该系统上如何编辑、编译、连接和运行一个C程序。 通过运…...

「微服务」微服务架构中的数据一致性

在微服务中&#xff0c;一个逻辑上原子操作可以经常跨越多个微服务。即使是单片系统也可能使用多个数据库或消息传递解决方案。使用多个独立的数据存储解决方案&#xff0c;如果其中一个分布式流程参与者出现故障&#xff0c;我们就会面临数据不一致的风险 - 例如在未下订单的情…...

小白程序员快看!轻松入门大模型驱动的AI Agent,收藏这份超全学习指南!

本文以通俗易懂的语言介绍了AI Agent的概念、构成、分类及工作流程&#xff0c;并与传统软件进行了对比&#xff0c;阐述了AI Agent的核心优势。同时&#xff0c;文章还列举了AI Agent的常见应用场景&#xff0c;并推荐了5个适合新手使用的开发工具&#xff0c;最后通过一个实际…...

OpenClaw从入门到应用——安装:更新OpenClaw

通过OpenClaw实现副业收入&#xff1a;《OpenClaw赚钱实录&#xff1a;从“养龙虾“到可持续变现的实践指南》 推荐方式&#xff1a;重新运行网站安装程序&#xff08;原地升级&#xff09; 首选的更新方式是重新运行官网提供的安装脚本。该脚本会自动检测现有安装&#xff0…...

如何用AI驱动的智能字幕工具解决日语视频字幕制作难题?零基础也能实现90%准确率的字幕生成方案

如何用AI驱动的智能字幕工具解决日语视频字幕制作难题&#xff1f;零基础也能实现90%准确率的字幕生成方案 【免费下载链接】N46Whisper Whisper based Japanese subtitle generator 项目地址: https://gitcode.com/gh_mirrors/n4/N46Whisper 日语视频字幕制作常常让内容…...

ICM45686数据老飘?GD32F470的IIC时序调试与FreeRTOS延时函数那些坑

GD32F470与ICM45686通信稳定性优化实战&#xff1a;从时序调试到FreeRTOS延时陷阱 当惯性导航系统的数据出现飘移、丢包或完全无法读取时&#xff0c;多数开发者会首先怀疑传感器硬件问题。但在使用GD32F470与ICM45686构建的系统中&#xff0c;真正的"魔鬼"往往藏在…...

自己搭建永磁同步电机参数变动模块:为预测控制助力

永磁同步电机参数不确定/参数变化/参数失配/参数摄动模块 其中直交轴电感,电阻,磁链&#xff0c;转动惯量&#xff0c;粘滞摩擦系数可设置为自己所需的时变工况 适合做预测控制的同志们 由于MATLAB封装模块不可改动&#xff0c;于是自己搭建了这个模块,默认版本为2021b最近在研…...

效率提升秘籍:用快马平台快速生成魔鬼面具试戴应用代码骨架

效率提升秘籍&#xff1a;用快马平台快速生成魔鬼面具试戴应用代码骨架 最近在做一个有趣的个人项目——魔鬼面具在线试戴应用。作为一个前端开发者&#xff0c;我深知从零开始搭建这种交互式应用需要花费不少时间在基础框架上。幸运的是&#xff0c;我发现了InsCode(快马)平台…...

为什么你的视觉检测准确率卡在92.7%?(揭秘工业现场3类未标注异常数据导致的模型过拟合代码根源)

第一章&#xff1a;视觉检测准确率瓶颈的工业现场真相在实际产线部署中&#xff0c;视觉检测模型在实验室达到99.2%的mAP&#xff0c;落地后却频繁出现漏检与误报——这不是算法缺陷&#xff0c;而是工业现场多维干扰叠加的真实映射。光照波动、工件表面反光、传送带抖动、镜头…...

医用擦拭纸选购指南:看懂这五大认证,避开医疗耗材采购“隐形坑

# 医用擦拭纸选购指南&#xff1a;看懂这五大认证&#xff0c;避开医疗耗材采购“隐形坑”> 在医疗领域&#xff0c;每一片看似普通的擦拭纸&#xff0c;都直接关系到诊疗安全、院感控制和患者健康。对于医疗器械经销商、医院后勤管理者而言&#xff0c;选择供应商时最核心的…...

株洲品牌设计公司哪家更专业?

在株洲&#xff0c;无论是传统制造业寻求转型升级&#xff0c;还是新兴消费品牌意图破圈&#xff0c;一个专业、系统、能驱动增长的品牌设计&#xff0c;已成为企业赢得市场竞争的关键。然而&#xff0c;面对市场上众多的设计公司&#xff0c;许多企业主都会感到困惑&#xff1…...

Python3.8环境管理:用Miniconda轻松创建多个项目环境

Python3.8环境管理&#xff1a;用Miniconda轻松创建多个项目环境 1. 为什么需要Python环境管理 在日常开发中&#xff0c;我们经常会遇到这样的问题&#xff1a;项目A需要Python3.6和TensorFlow1.15&#xff0c;而项目B需要Python3.8和TensorFlow2.4。如果直接在系统上安装这…...