ARM--day4(电灯实验、分析RCC、GPIO控制器,PMOS管、NMOS管的基本原理)

电灯实验代码:

.text 
.global _start
_start: /**********LED1点灯**************/RCC_INIT:@1.使能GPIOE组控制器,通过RCC_AHB4ENSETR寄存器设置第[5:4]位写1---->0x50000A28[4]=1ldr r0,=0x50000A28ldr r1,[r0]orr r1,#(0x3 << 4) @使能GPIOE和GPIOF组str r1,[r0]LED1_INIT:@1.设署PE10引脚为输出模式,通过CPTOE MODR寄在器设詈第[21:20]位写01 ==>0x50006000[21:20]= 01ldr r0,=0x50006000ldr r1,[r0]bic r1,#(0x3<<20)orr r1,#(0x1<<20)   str r1,[r0]@2.设置GPIO引脚为推挽输出类型,通过GPIOE_OTYPER寄存器设置第[10]位写О--->0x50006004[10]=0ldr r0,=0x50006004ldr r1,[r0]bic r1,#(0x1<<10) str r1,[r0]@3.设置PE10引脚为低速输出,通过GPIOE_OSPEEDRE寄存器第[21:20]位写00--->0x50006008[21:20]=00ldr r0,=0x50006008ldr r1,[r0]bic r1,#(0x3<<20)str r1,[r0]@4.设置PE10引脚禁止上下拉电阻,通过cPIOE_PUPDR寄存器设置第[21:20]位写00--->0x5000600c[21:20]=00ldr r0,=0x5000600cldr r1,[r0]bic r1,#(0x3<<20)str r1,[r0]LED2_INIT:@1.设署PF10引脚为输出模式,通过CPTOF MODR寄在器设詈第[21:201位写01 ==>0x50007000[21:20]= 01ldr r0,=0x50007000ldr r1,[r0]bic r1,#(0x3<<20)orr r1,#(0x1<<20)   str r1,[r0]@2.设置PF10引脚为推挽输出类型,通过GPIOF_OTYPER寄存器设置第[10]位写О--->0x50007004[10]=0ldr r0,=0x50007004ldr r1,[r0]bic r1,#(0x1<<10) str r1,[r0]@3.设置PF10引脚为低速输出,通过GPIOF_OSPEEDRE寄存器第[21:20]位写00--->0x50007008[21:20]=00ldr r0,=0x50007008ldr r1,[r0]bic r1,#(0x3<<20)str r1,[r0]@4.设置PF10引脚禁止上下拉电阻,通GPIOF_PUPDR寄存器设置第[21:20]位写00--->0x5000700c[21:20]=00ldr r0,=0x5000700cldr r1,[r0]bic r1,#(0x3<<20)str r1,[r0]LED3_INIT:@1.设署PE8引脚为输出模式,通过GPTOE MODR寄在器设詈第[17:16]位写01 ==>0x50006000[21:20]= 01ldr r0,=0x50006000ldr r1,[r0]bic r1,#(0x3<<16)orr r1,#(0x1<<16)   str r1,[r0]@2.设置GPIO引脚为推挽输出类型,通过GPIOE_OTYPER寄存器设置第[10]位写О--->0x50006004[8]=0ldr r0,=0x50006004ldr r1,[r0]bic r1,#(0x1<<8) str r1,[r0]@3.设置PE8引脚为低速输出,通过GPIOE_OSPEEDRE寄存器第[17:16]位写00--->0x50006008[17:16]=00ldr r0,=0x50006008ldr r1,[r0]bic r1,#(0x3<<16)str r1,[r0]@4.设置PE8引脚禁止上下拉电阻,通过GPIOE_PUPDR寄存器设置第[17:16]位写00--->0x5000600c[17:16]=00ldr r0,=0x5000600cldr r1,[r0]bic r1,#(0x3<<16)str r1,[r0]loop:bl LED1_ONbl delay_1sbl LED1_OFFbl delay_1sbl LED2_ONbl delay_1sbl LED2_OFFbl delay_1sbl LED3_ONbl delay_1sbl LED3_OFFbl delay_1sb loopLED1_ON:@1.设置PE10引脚输出高电平,通过GPIoE_ODR寄存器设置第〔10]位写1--->	0x50006014[10]=1ldr r0,=0x50006014ldr r1,[r0]orr r1,#(0x1<<10)str r1,[r0]mov pc,lr
LED1_OFF:@1.设置PE10引脚输出低电平--->	0x50006014[10]=0ldr r0,=0x50006014ldr r1,[r0]bic r1,#(0x1<<10)str r1,[r0]mov pc,lr
LED2_ON:@1.设置PE10引脚输出高电平,通过GPIoE_ODR寄存器设置第〔10]位写1--->	0x50006014[10]=1ldr r0,=0x50007014ldr r1,[r0]orr r1,#(0x1<<10)str r1,[r0]mov pc,lr
LED2_OFF:@1.设置PE10引脚输出低电平--->	0x50006014[10]=0ldr r0,=0x50007014ldr r1,[r0]bic r1,#(0x1<<10)str r1,[r0]mov pc,lr
LED3_ON:@1.设置PF10引脚输出高电平,通过GPIOF_ODR寄存器设置第〔10]位写1--->	0x50006014[10]=1ldr r0,=0x50006014ldr r1,[r0]orr r1,#(0x1<<8)str r1,[r0]mov pc,lr
LED3_OFF:@1.设置PE8引脚输出低电平--->	0x50006014[8]=0ldr r0,=0x50006014ldr r1,[r0]bic r1,#(0x1<<8)str r1,[r0]mov pc,lr@ 大概1s的延时函数
delay_1s:mov r3, #0x10000000mm:    @mm是一个标签cmp r3, #0subne r3, r3, #1bne mmmov pc, lr.end

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/98099.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

京东门详一码多端探索与实践 | 京东云技术团队

本文主要讲述京东门详业务在支撑过程中遇到的困境&#xff0c;面对问题我们在效率提升、质量保障等方向的探索和实践&#xff0c;在此将实践过程中问题解决的思路和方案与大家一起分享&#xff0c;也希望能给大家带来一些新的启发 一、背景 1.1、京东门详介绍 1.1.1、京东门…

【MySQL】索引

本期我们好好唠唠索引 目录 一、索引的概念 二、索引的重要性 三、对于索引的理解 3.1 MySQL与磁盘交互的基本单位page 3.2 MySQL中的数据交互过程 3.3 索引建立的过程 3.3.1 page的存储形式 3.3.2 B树的形成 3.4 为什么不用其他数据结构来建立索引 四、聚簇索引和非…

Python tkinter Notebook标签添加关闭按钮元素,及左侧添加存储状态提示图标案例,类似Notepad++页面

效果图展示 粉色框是当前页面&#xff0c;橙色框是鼠标经过&#xff0c;红色框是按下按钮&#xff0c;灰色按钮是其他页面的效果&#xff1b; 存储标识可以用来识别页面是否存储&#xff1a;例如当前页面已经保存用蓝色&#xff0c;未保存用红色&#xff0c;其他页面已经保存用…

【力扣】42. 接雨水 <模拟、双指针、单调栈>

【力扣】42. 接雨水 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图&#xff0c;计算按此排列的柱子&#xff0c;下雨之后能接多少雨水。 目录 【力扣】42. 接雨水题解暴力双指针单调栈 示例 1&#xff1a; 输入&#xff1a;height [0,1,0,2,1,0,1,3,2,1,2,1] 输出&…

数据结构<树和二叉树>顺序表存储二叉树实现堆排

✨Blog&#xff1a;&#x1f970;不会敲代码的小张:)&#x1f970; &#x1f251;推荐专栏&#xff1a;C语言&#x1f92a;、Cpp&#x1f636;‍&#x1f32b;️、数据结构初阶&#x1f480; &#x1f4bd;座右铭&#xff1a;“記住&#xff0c;每一天都是一個新的開始&#x1…

c语言实现MD5算法

MD5加密 文章目录 MD5加密MD5介绍应用场景代码分析 &#xff08;基于qt5.14.2&#xff09;测试记录 MD5介绍 1。 一种单向加密算法&#xff0c;即对明文加密&#xff0c;而不能通过密文得到明文。对原数据的任何改动&#xff0c;哪怕是1字节&#xff0c;得到的MD5值都有很大的区…

vue路由及打包部署

vue路由&#xff08;前端路由&#xff09;&#xff1a;URL中的hash&#xff08;#号&#xff09;与组件之间的对应关系。 一、安装vue路由 npm install vue-router3.5.1 二、定义路由表 路由表主要记录hash&#xff08;#号&#xff09;与组件之间的对应关系。主要定义在route…

FPGA:uart原理+tx发送模块+rx接收模块

文章目录 一、串口通信二、UART通信三、tx发送模块四、rx模块接收 一、串口通信 处理器与外部设备通信的两种方式&#xff1a; 串行通信&#xff1a; 指数据的各个位使用多条数据线同时进行传输。 并行通信&#xff1a; 将数据分成一位一位的形式在一条数据线上逐个传输。 串…

SQL Injection

SQL Injection 就是通过把恶意的sql命令插入web表单递交给服务器&#xff0c;或者输入域名或页面请求的查询字符串递交到服务器&#xff0c;达到欺骗服务器&#xff0c;让服务器执行这些恶意的sql命令&#xff0c;从而让攻击者&#xff0c;可以绕过一些机制&#xff0c;达到直…

sql server安装报错 合成活动模板库(ATL) 失败

错误 “合成活动模板库(ATL) 规则失败“ 解决办法&#xff1a; 进入SQL Server 2008R2安装包目录找到文件&#xff1a;sqlsupport_msi&#xff0c;安装此文件之后&#xff0c;再安装SQL Server&#xff0c;便可解决该问题。C:\SQL Server 2008R2\new\SQL Server 2008R2\2052_CH…

Java虚拟机(JVM):虚拟机栈溢出

一、概念 Java虚拟机栈溢出&#xff08;Java Virtual Machine Stack Overflow&#xff09;是指在Java程序中&#xff0c;当线程调用的方法层级过深&#xff0c;导致栈空间溢出的情况。 Java虚拟机栈是每个线程私有的&#xff0c;用于存储方法的调用和局部变量的内存空间。每当…

如何学习专业的学术用语01

问题的提出——凭啥人家写的词汇这么专业 做法一 做法二&#xff1a;做一个专业数据库 专门做教育技术类的

Android Ble蓝牙App(六)请求MTU与显示设备信息

前言 在上一篇文章中已经了解了数据操作的方式&#xff0c;而数据交互的字节长度取决于我们手机与蓝牙设备的最大支持长度。 目录 Ble蓝牙App&#xff08;一&#xff09;扫描Ble蓝牙App&#xff08;二&#xff09;连接与发现服务Ble蓝牙App&#xff08;三&#xff09;特性和属…

unity 之 Vector 数据类型

文章目录 Vector 1Vector 2Vector 3Vector 4 Vector 1 在Unity中&#xff0c;Vector1 并不是一个常见的向量类型。 如果您需要表示标量&#xff08;单个值&#xff09;或者只需要一维的数据&#xff0c;通常会直接使用浮点数&#xff08;float&#xff09;或整数&#xff08;in…

Linux命令200例:tail用来显示文件的末尾内容(常用)

&#x1f3c6;作者简介&#xff0c;黑夜开发者&#xff0c;全栈领域新星创作者✌。CSDN专家博主&#xff0c;阿里云社区专家博主&#xff0c;2023年6月csdn上海赛道top4。 &#x1f3c6;数年电商行业从业经验&#xff0c;历任核心研发工程师&#xff0c;项目技术负责人。 &…

【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 …

【深入探究人工智能】:常见机器学习算法总结

文章目录 1、前言1.1 机器学习算法的两步骤1.2 机器学习算法分类 2、逻辑回归算法2.1 逻辑函数2.2 逻辑回归可以用于多类分类2.3 逻辑回归中的系数 3、线性回归算法3.1 线性回归的假设3.2 确定线性回归模型的拟合优度3.3线性回归中的异常值处理 4、支持向量机&#xff08;SVM&a…

〔012〕Stable Diffusion 之 中文提示词自动翻译插件 篇

✨ 目录 🎈 翻译插件🎈 下载谷歌翻译🎈 谷歌翻译使用方法🎈 谷歌翻译使用效果🎈 翻译插件 在插件列表中搜索 Prompt Translator可以看到有2个插件选项:一个是基于谷歌翻译 〔推荐〕、一个基于百度和deepl翻译推荐使用谷歌翻译,因为是离线翻译,所以使用时不用在乎是…

Java之SpringCloud Alibaba【四】【微服务 Sentinel服务熔断】

Java之SpringCloud Alibaba【四】【微服务 Sentinel服务熔断】 一、分布式系统遇到的问题1、服务挂掉的一些原因 二、解决方案三、Sentinel&#xff1a;分布式系统的流量防卫兵1、Sentinel是什么2、Sentinel和Hystrix对比3、Sentinel快速开发4、通过注解的方式来控流5、启动Sen…

vue3 基础知识

vue3创建一个项目 PS D:\code> npm init vuelatestVue.js - The Progressive JavaScript Framework√ Add TypeScript? ... No / Yes √ Add JSX Support? ... No / Yes √ Add Vue Router for Single Page Application development? ... No / Yes √ Add Pinia for sta…