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

【ARM】Day4 点亮LED灯

1. 思维导图

 

 2.  自己编写代码实现三盏灯点亮


.text 
.global _start
_start: /**********LED1,LED2,LED3点灯:PE10,PF10,PE8**************/
RCC_INIT:@使能GPIOE组/GPIOF组控制器,通过RXCC_MP_AHB4ENSETR设置第[5:4]位写1,地址:0x50000A28[5:4]=1ldr r0,=0x50000A28  	@通过RCC使能GPIO E组 F组ldr r1,[r0]orr r1,r1,#(0x1<<4) 	@ E组orr r1,r1,#(0x1<<5) 	@ F组str r1,[r0]LED1_INTI:@设置PE10引脚为输出模式,通过GPIOE_MODER寄存器设置第[21:20]位写01, 地址:0x50006000[21:20]=01ldr r0,=0x50006000    	@设置GPIO为输出模式0x50006000[21:20] = 01ldr r1,[r0]orr r1,r1,#(1<<20)  @置1bic r1,r1,#(1<<21) 	@清0str r1,[r0]@设置PE10引脚为推挽输出类型,通过GPIOE_OTYPER寄存器设置第[10]位写0, 地址:0x50006000[10]=0ldr r0,=0x50006004 		@推挽输出 0x50006004[10] = 0ldr r1,[r0]bic r1,r1,#(1<<10)str r1,[r0]@设置PE10引脚为低速输出,通过GPIOE_OSPEEDE寄存器设置第[21:20]位写00, 地址:0x50006000[21:20]=00ldr r0,=0x50006008 		@设置输出速率 0x50006008[21:20] = 00ldr r1,[r0]bic r1,r1,#(0x3<<20)str r1,[r0]@设置PE10引脚为禁止上下拉电阻,通过GPIOE_PUPDR寄存器设置第[21:20]位写00, 地址:0x50006000[21:20]=00ldr r0,=0x5000600c 		@设置输出禁止上拉和下拉 0x5000600c[21:20] = 00ldr r1,[r0]bic r1,r1,#(0x3<<20)str r1,[r0]LED2_INTI:@设置PF10引脚为输出模式,通过GPIOF_MODER寄存器设置第[21:20]位写01, 地址:0x50007000[21:20]=01ldr r0,=0x50007000    	@设置GPIO为输出模式0x50007000[21:20] = 01ldr r1,[r0]orr r1,r1,#(1<<20) bic r1,r1,#(1<<21) str r1,[r0]@设置PF10引脚为推挽输出类型,通过GPIOF_OTYPER寄存器设置第[10]位写0, 地址:0x50007000[10]=0ldr r0,=0x50007004 		@推挽输出 0x50007004[10] = 0ldr r1,[r0]bic r1,r1,#(1<<10)str r1,[r0]@设置PF10引脚为低速输出,通过GPIOF_OSPEEDE寄存器设置第[21:20]位写00, 地址:0x50007000[21:20]=00ldr r0,=0x50007008 		@设置输出速率 0x50007008[21:20] = 00ldr r1,[r0]bic r1,r1,#(0x3<<20)str r1,[r0]@设置PF10引脚为禁止上下拉电阻,通过GPIOF_PUPDR寄存器设置第[21:20]位写00, 地址:0x50007000[21:20]=00ldr r0,=0x5000700c 		@设置输出禁止上拉和下拉 0x5000700c[21:20] = 00ldr r1,[r0]bic r1,r1,#(0x3<<20)str r1,[r0]LED3_INTI:@设置PE8引脚为输出模式,通过GPIOE_MODER寄存器设置第[17:16]位写01, 地址:0x50006000[17:16]=01ldr r0,=0x50006000    	@设置GPIO为输出模式0x50006000[17:16] = 01ldr r1,[r0]orr r1,r1,#(1<<16) bic r1,r1,#(1<<17) str r1,[r0]@设置PE8引脚为推挽输出类型,通过GPIOE_OTYPER寄存器设置第[8]位写0, 地址:0x50006000[8]=0ldr r0,=0x50006004 		@推挽输出 0x50006004[8] = 0ldr r1,[r0]bic r1,r1,#(1<<8)str r1,[r0]@设置PE8引脚为低速输出,通过GPIOE_OSPEEDE寄存器设置第[17:16]位写00, 地址:0x50006000[17:16]=00ldr r0,=0x50006008 		@设置输出速率 0x50006008[17:16] = 00ldr r1,[r0]bic r1,r1,#(0x3<<16)str r1,[r0]@设置PE8引脚为禁止上下拉电阻,通过GPIOE_PUPDR寄存器设置第[17:16]位写00, 地址:0x50006000[17:16]=00ldr r0,=0x5000600c 		@设置输出禁止上拉和下拉 0x5000600c[17:16] = 00ldr r1,[r0]bic r1,r1,#(0x3<<16)str r1,[r0]loop:bl LED1_ONbl LED2_ONbl LED3_ONbl delay_1sbl LED1_OFFbl LED2_OFFbl LED3_OFFbl delay_1sb loopLED1_ON:ldr r0,=0x50006014 		@设置输出高电平 0x50006014[10] = 1ldr r1,[r0]orr r1,r1,#(1<<10)str r1,[r0]mov pc,lrLED1_OFF:ldr r0,=0x50006014 		@设置输出低电平 0x50006014[10] = 0ldr r1,[r0]bic r1,r1,#(1<<10)str r1,[r0]mov pc,lrLED2_ON:ldr r0,=0x50007014 		@设置输出高电平 0x50007014[10] = 1ldr r1,[r0]orr r1,r1,#(1<<10)str r1,[r0]mov pc,lrLED2_OFF:ldr r0,=0x50007014 		@设置输出低电平 0x50007014[10] = 0ldr r1,[r0]bic r1,r1,#(1<<10)str r1,[r0]mov pc,lrLED3_ON:ldr r0,=0x50006014 		@设置输出高电平 0x50006014[8] = 1ldr r1,[r0]orr r1,r1,#(1<<8)str r1,[r0]mov pc,lrLED3_OFF:ldr r0,=0x50006014 		@设置输出低电平 0x50006014[8] = 0ldr r1,[r0]bic r1,r1,#(1<<8)str r1,[r0]mov pc,lr@ 大概1s的延时函数
delay_1s:mov r3, #0x10000000mm:cmp r3, #0 			@ r3和0比较subne r3, r3, #1 	@ 不相等,r3=r3-1bne mm 				@ 不相等,就跳转到mmmov pc, lr  		@ 恢复现场.end

 3. 点灯流程

 

相关文章:

【ARM】Day4 点亮LED灯

1. 思维导图 2. 自己编写代码实现三盏灯点亮 .text .global _start _start: /**********LED1&#xff0c;LED2,LED3点灯:PE10,PF10,PE8**************/ RCC_INIT:使能GPIOE组/GPIOF组控制器,通过RXCC_MP_AHB4ENSETR设置第[5:4]位写1,地址:0x50000A28[5:4]1ldr r0,0x50000A28 …...

TiDB基础介绍、应用场景及架构

1. 什么是newsql NewSQL 是对各种新的可扩展/高性能数据库的简称&#xff0c;这类数据库不仅具有NoSQL对海量数据的存储管理能力&#xff0c;还保持了传统数据库支持ACID和SQL等特性。 NewSQL是指这样一类新式的关系型数据库管理系统&#xff0c;针对OLTP&#xff08;读-写&…...

深入学习前端开发,掌握HTML、CSS、JavaScript等技术

课程链接&#xff1a; 链接: https://pan.baidu.com/s/1WECwJ4T8UQfs2FyjUMbxig?pwdi654 提取码: i654 复制这段内容后打开百度网盘手机App&#xff0c;操作更方便哦 --来自百度网盘超级会员v4的分享 课程介绍&#xff1a; 第1周&#xff1a;HTML5基础语法与标签 &#x1f…...

python编程小游戏 五子棋,python编程小游戏简单的

大家好&#xff0c;本文将围绕python编程小游戏如何停止展开说明&#xff0c;python编程小游戏日语教程是一个很多人都想弄明白的事情&#xff0c;想搞清楚python编程小游戏超级玛丽需要先了解以下几个事情。 今天分享一个有趣的Python游戏库freegames&#xff0c;它里面包含经…...

spring ico容器 spring注入方式 spring与tomcat整合

一、简介 1、什么是spring&#xff1f; Spring是一个开源的轻量级Java应用开发框架&#xff0c;它提供了一种简单、高效、灵活的方式来构建企业级应用程序。Spring框架的核心特点是依赖注入&#xff08;Dependency Injection&#xff09;和面向切面编程&#xff08;Aspect-Ori…...

ansible 修改远程主机nginx配置文件

安装ansible brew install ansible 或者 pip3 install ansible 添加远程主机 设置秘钥 mac登录远程主机 ssh -p 5700 root192.168.123.211 ssh localhost #设置双机信任 ssh-kyegen -t rsa #设置主机两边的ssh配置文件 vi /etc/ssh/sshd_config/ PermitRootL…...

EV 录屏修复小工具

参考这篇文章, EV录制文件损坏-修复方法, 我用 C# 写了一个小程序. 仓库: github.com/SlimeNull/EvRepair 下载: github.com/SlimeNull/EvRepair/Releases 镜像: gitee.com/slimenull/EvRepair/releases 觉得还不错的话, 点个星星 推荐使用的几个理由: 内嵌 ffmpeg 和 recov…...

蓝牙资讯|中国智能家居前景广阔,蓝牙Mesh照明持续火爆

据俄罗斯卫星通讯社报道&#xff0c;中国已成为全球最大的智能家居消费国&#xff0c;占全球50%—60%的市场份额。未来&#xff0c;随着人工智能技术的发展以及智能家居生态的不断进步&#xff0c;智能家居在中国的渗透率将加速提升。德国斯塔蒂斯塔调查公司数据显示&#xff0…...

2023年排行前五的大规模语言模型(LLM)

2023年排行前五的大规模语言模型(LLM) 截至2023年&#xff0c;人工智能正在风靡全球。它已经成为热门的讨论话题&#xff0c;吸引了数百万人的关注&#xff0c;不仅限于技术专家和研究人员&#xff0c;还包括来自不同背景的个人。人们对人工智能热情高涨的原因之一是其在人类多…...

DoIP学习笔记系列:(六)满足AES128-CMAC算法的“安全认证”.dll生成实践

文章目录 1. 算法Demo2. 算法实现传送门 DoIP学习笔记系列:导航篇 AES128-CMAC算法在汽车电子控制单元的软件开发中涉及到安全相关的需求经经常用到,具体的算法原理请各位小伙伴自行百度,本篇主要向大家分享该算法如何集成到.dll文件中,在OTA、刷写等场景作为$27服务的安全…...

Collections操作集合的工具类,可变参数、集合操作的工具类

1、可变参数 假设定义一个方法求和&#xff0c;该方法可以灵活的完成如下需求&#xff1a; 计算1个数据的和计算2个数据的和计算3个数据的和计算n个数据的和&#xff0c;甚至可以支持不接收参数进行调用。 1.1、可变参数 可变参数用在形参中可以接收多个数据。可变参数的格式&…...

Linux Kernel:进程表示

环境: Kernel Version:Linux-5.10 ARCH:ARM64 一:前言 Linux内核涉及进程和程序的所有算法都围绕task_struct数据结构建立,具体可看另一篇文章: Linux Kernel:thread_info与task_struct 同时Linux提供了资源限制(resource limit, rlimit)机制,对进程使用系统资源施…...

黑马项目一阶段面试58题 苍穹外卖具体技术细节9题

一、Nginx的作用 1.反向代理 前端把请求发送给nginx&#xff0c;再由nginx将请求发送给后端服务器。 2.负载均衡 提高访问速度&#xff1b;进行负载均衡&#xff1b;保证后端服务安全 二、Swagger有什么作用 直接调试后端请求响应 三、Redis常见数据类型 String、Hash、L…...

SkyEye操作指南:连接TI CCS的IDE调试

现代电力电子控制系统的开发中&#xff0c;DSP芯片以其优越的运算性能在控制算法领域得到越来越广泛的应用。传统的DSP开发过程往往需要在完成控制系统仿真与程序设计后&#xff0c;才能根据比对结果进行程序修改&#xff0c;全过程还需要硬件电路工程师的配合&#xff0c;开发…...

PINN神经网络源代码解析(pyTorch)

参考文献 PINN(Physics-informed Neural Networks)的原理部分可参见https://maziarraissi.github.io/PINNs/ 考虑Burgers方程&#xff0c;如下图所示&#xff0c;初始时刻u符合sin分布&#xff0c;随着时间推移在x0处发生间断. 这是一个经典问题&#xff0c;可使用pytorch通过…...

ChatGPT​保密吗?它有哪些潜在风险?如何规避?

自2022年11月公开发布以来&#xff0c;ChatGPT已成为许多企业和个人的必备工具&#xff0c;但随着该技术越来越多地融入我们的日常生活&#xff0c;人们很自然地想知道&#xff1a;ChatGPT是否是保密的。 问&#xff1a;ChatGPT保密吗&#xff1f; 答&#xff1a;否&#xff0…...

C++中配置OpenCV的教程

首先去OpenCV的官网下载OpenCV安装包&#xff0c;选择合适的平台和版本进行下载&#xff0c;我下载的是Windows的OpenCV-4.7.0版本。OpenCV下载地址 下载好后&#xff0c;解压到自己指定的路径。 配置环境变量&#xff1a; WinR键打开运行窗口&#xff0c;输入sysdm.cpl打开系…...

收银一体化-亿发2023智慧门店新零售营销策略,实现全渠道运营

伴随着互联网电商行业的兴起&#xff0c;以及用户理念的改变&#xff0c;大量用户从线下涌入线上&#xff0c;传统的线下门店人流量急剧收缩&#xff0c;门店升级几乎成为了每一个零售企业的发展之路。智慧门店新零售收银解决方案是针对传统零售企业面临的诸多挑战和问题&#…...

node.js内置模块fs,path,http使用方法

NodeJs中分为两部分 一是V8引擎为了解析和执行JS代码。 二是内置API&#xff0c;让JS能调用这些API完成一些后端操作。 内置API模块(fs、path、http等) 第三方API模块(express、mysql等) fs模块 fs.readFile()方法&#xff0c;用于读取指定文件中的内容。 fs.writeFile()方…...

【git clone error:no matching key exchange method found】

拉起项目代码报错 git clone ssh://uidxxxgerrit-xxxxxxxx Cloning into ‘xxxxx’… Unable to negotiate with xxx.xx.xxx.ip port xxxxx: no matching key exchange method found. Their offer: diffie-hellman-group14-sha1,diffie-hellman-group1-sha1 fatal: Could not …...

谈谈网络协议的定义、组成和重要性

个人主页&#xff1a;insist--个人主页​​​​​​ 本文专栏&#xff1a;网络基础——带你走进网络世界 本专栏会持续更新网络基础知识&#xff0c;希望大家多多支持&#xff0c;让我们一起探索这个神奇而广阔的网络世界。 目录 一、网络协议的定义 二、网络协议的组成 1、…...

ssh免密登陆报错ERROR: @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!

问题描述&#xff1a; 在日常的运维中需要做ssh的免密登陆有提示如下的报错内容&#xff1a; [rootpaas-harbor01 cce-v5.2.3]# ssh-copy-id 192.45.66.14 /usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub" /usr/bin/ssh-c…...

【kubernetes】Pod控制器

目录 Pod控制器及其功用 pod控制器有多种类型 1、ReplicaSet ReplicaSet主要三个组件组成 2、Deployment 3、DaemonSet 4、StatefulSet 5、Job 6、Cronjob Pod与控制器之间的关系 1、Deployment 查看控制器配置 查看历史版本 2、SatefulSet 为什么要有headless&…...

aspose.ocr 的图片识别

操作aspose.ocr版本 <dependency><groupId>aspose</groupId><artifactId>ocr</artifactId><version>23.7.1-SNAPSHOT</version></dependency>官网下载地址 https://releases.aspose.com/ocr/java/ 记录一些简单的识别图片操…...

安卓纯代码布局开发游戏二:Android Studio开发环境搭建

1.Android Studio下载&#xff1a; Download Android Studio & App Tools - Android Developers 2.安装 安装过程非常简单&#xff0c;找到下载包&#xff0c;一直点Next即可。 3.下载Android SDK 第一次进入Android Studio默认会先下载Android SDK,笔者下载的Android SDK存…...

HuggingFace开源的自然语言处理AI工具平台

HuggingFace是一个开源的自然语言处理AI工具平台&#xff0c;它为NLP的开发者和研究者提供了一个简单、快速、高效、可靠的解决方案&#xff0c;让NLP变得更加简单、快速、高效、可靠。 Hugging Face平台主要包括以下几个部分&#xff1a; Transformers&#xff1a;一个提供了…...

ant-design-vue在ios使用AUpload组件唤起了相机,HTML的 `capture` 属性

在使用ant design vue组件的上传组件AUpload的时候有一个问题&#xff0c;直接按照demo写&#xff0c;在ios上会唤起相机&#xff0c;但是实际上我们的需求是弹出选择相册/相机这个弹框。 解决办法是加一个 cupture"null"这个属性即可 <a-upload:capture"nu…...

力扣75——图深度优先搜索

总结leetcode75中的图深度优先搜索算法题解题思路。 上一篇&#xff1a;力扣75——二叉搜索树 力扣75——图深度优先搜索 1 钥匙和房间2 省份数量3 重新规划路线4 除法求值1-4 解题总结 1 钥匙和房间 题目&#xff1a; 有 n 个房间&#xff0c;房间按从 0 到 n - 1 编号。最初…...

小程序前台Boot后台校园卡资金管理系统java web学校进销存食堂挂失jsp源代码

本项目为前几天收费帮学妹做的一个项目&#xff0c;Java EE JSP项目&#xff0c;在工作环境中基本使用不到&#xff0c;但是很多学校把这个当作编程入门的项目来做&#xff0c;故分享出本项目供初学者参考。 一、项目描述 小程序前台Boot后台校园卡资金管理系统 系统有2权限&…...

数学建模-多元线性回归笔记

数学建模笔记 1.学模型✅ 2.看专题论文并复习算法 多元线性回归 无偏性&#xff1a;预测值与真实值非常接近一致性&#xff1a;样本量无限增大&#xff0c;收敛于待估计参数的真值如何做&#xff1a;控制核心解释变量和u不相关 四类模型回归系数的解释 截距项不用考虑一元线性…...