当前位置: 首页 > 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 …...

终极窗口尺寸编辑器:SRWE让你的应用程序窗口自由伸缩

终极窗口尺寸编辑器&#xff1a;SRWE让你的应用程序窗口自由伸缩 【免费下载链接】SRWE Simple Runtime Window Editor 项目地址: https://gitcode.com/gh_mirrors/sr/SRWE Simple Runtime Window Editor (SRWE) 是一款革命性的开源工具&#xff0c;它能让你实时调整任何…...

2016-2025年地级市链长制数据

在产业链现代化与协同治理进程中&#xff0c;“链长制”作为一项关键的制度创新&#xff0c;为破解产业链条松散、协同不足等问题提供了重要抓手&#xff0c;其政策效果与影响机制成为当前学术研究与政策制定的焦点议题。周钰丁、田思远在研究中指出&#xff0c;产业链“链长制…...

GTX1650也能跑!Windows11上OLLAMA+AnythingLLM本地部署Llama3保姆级教程

GTX1650也能跑&#xff01;Windows11上OLLAMAAnythingLLM本地部署Llama3保姆级教程 老旧硬件也能玩转大模型&#xff1f;当GTX1650这样的入门级显卡遇上Llama3这类前沿AI模型&#xff0c;很多人第一反应可能是"跑不动"。但经过实测&#xff0c;只要合理配置和优化&am…...

SolidWorks卸载后注册表残留?3步彻底清理+重装避坑指南(附工具)

SolidWorks卸载后注册表残留&#xff1f;3步彻底清理重装避坑指南&#xff08;附工具&#xff09; 每次开机都被"Windows正在配置SolidWorks"的弹窗骚扰&#xff1f;重装软件时总提示"已存在相同版本"&#xff1f;这大概率是注册表残留的幽灵在作祟。作为…...

不只是安装:深入理解TI毫米波雷达开发套件(MMWCAS-RF-EVM)的软件生态与数据流

不只是安装&#xff1a;深入理解TI毫米波雷达开发套件&#xff08;MMWCAS-RF-EVM&#xff09;的软件生态与数据流 毫米波雷达技术正在重塑自动驾驶、工业检测和智能安防等领域&#xff0c;而TI的MMWCAS-RF-EVM评估板作为行业标杆工具&#xff0c;其真正的价值往往被简化为"…...

多宽带联网(五) OpenWrt中MWAN3高级策略分流实战(游戏加速、视频优化场景)

1. MWAN3策略分流的核心价值 家里拉了两条宽带却发现刷视频卡、打游戏延迟高&#xff1f;这种情况我遇到过太多次了。去年给朋友家调试网络时&#xff0c;他同时接了电信和联通两条200M宽带&#xff0c;但看4K视频还是缓冲&#xff0c;玩外服游戏延迟总在200ms以上。后来用Open…...

动态透视报表 + 查询接口 + Excel导出

动态透视报表 查询接口 Excel导出 ✅ 动态行维度&#xff08;产品 / 型号 / 项目 任意组合&#xff09;✅ 动态列维度&#xff08;月份&#xff09;✅ a / f 子表头✅ SQL 透视&#xff08;适合 GaussDB&#xff09;✅ 查询接口 EasyExcel 导出接口✅ 可复用报表引擎 整体…...

探秘书匠策AI:毕业论文创作的“全能助手”大揭秘

在学术探索的征途中&#xff0c;毕业论文如同一座巍峨的山峰&#xff0c;让无数学生既心怀憧憬又倍感压力。从选题迷茫到文献海捞&#xff0c;从结构搭建到内容雕琢&#xff0c;每一步都充满了挑战。但别怕&#xff0c;今天我们就来揭秘一位学术界的“全能助手”——书匠策AI&a…...

MULTISIM仿真揭秘:如何设计高可靠性的光耦隔离PMOS驱动电路

1. 光耦隔离PMOS驱动电路的设计挑战 在工业控制和高压隔离场景中&#xff0c;PMOS驱动电路的设计往往面临诸多挑战。我曾在多个项目中遇到过MOS管因静电击穿而损坏的情况&#xff0c;也经历过因开关频率不足导致系统性能下降的尴尬。这些问题归根结底都与MOS管的特性有关。 MOS…...

原创:第三篇(工程落地・首个抓手)电磁筑基:无线充电工程落地总案

第三篇&#xff08;工程落地・首个抓手&#xff09;电磁筑基&#xff1a;无线充电工程落地总案 作者&#xff1a;华夏之光永存 总摘要 当前人类电磁学应用仍处于婴孩阶段&#xff0c;现有电磁能量传输技术多局限于有线模式&#xff0c;存在传输损耗高、场景适配性差、灵活性不足…...