STM32MP157汇编流水灯

.text 
.global _start
_start: /* 使能GPIOE、GPIOF寄存器   RCC_MP_AHB4ENSETR * 基地址: 0x50000000 + 偏移地址: 0xA28 = 0x50000A28* RCC_MP_AHB4ENSETR[4]->1	RCC_MP_AHB4ENSETR[5]->1*/	LDR R0,=0x50000A28LDR R1,[R0]ORR R1,R1,#(0x1<<4)STR R1,[R0]LDR R0,=0x50000A28LDR R1,[R0]ORR R1,R1,#(0x1<<5)STR R1,[R0]/* 设置PE10,PE8,PF10引脚为输出模式* GPIOF基地址: 0x50007000 + 偏移地址: 0x00 = 0x50007000* GPIOE基地址: 0x50006000 + 偏移地址: 0x00 = 0x50006000* PE10: GPIOE_MODER[21:20]->01* PF10: GPIOF_MODER[21:20]->01* PE8:  GPIOE_MODER[17:16]->01*/LDR R0, =0x50007000LDR R1,[R0]BIC R1,R1,#(0x3<<20)ORR R1,R1,#(0x1<<20)STR R1,[R0]LDR R0, =0x50006000LDR R1,[R0]BIC R1,R1,#(0x3<<20)ORR R1,R1,#(0x1<<20)STR R1,[R0]LDR R0, =0x50006000LDR R1,[R0]BIC R1,R1,#(0x3<<16)ORR R1,R1,#(0x1<<16)STR R1,[R0]/* 设置PE10,PE8,PF10引脚为推挽输出* GPIOF基地址: 0x50007000 + 偏移地址: 0x04 = 0x50007004* GPIOE基地址: 0x50006000 + 偏移地址: 0x04 = 0x50006004* GPIOE_OTYPER[10]->0* GPIOF_OTYPER[10]->0* GPIOE_OTYPER[8]->0*/LDR R0,=0x50007004LDR R1,[R0]BIC R1,R1,#(0x1<<10)STR R1,[R0]LDR R0,=0x50006004LDR R1,[R0]BIC R1,R1,#(0x1<<10)STR R1,[R0]LDR R0,=0x50006004LDR R1,[R0]BIC R1,R1,#(0x1<<8)STR R1,[R0]/* 设置PE10,PE8,PF10引脚为低速输出* GPIOF基地址: 0x50007000 + 偏移地址: 0x08 = 0x50007008* GPIOE基地址: 0x50006000 + 偏移地址: 0x08 = 0x50006008* GPIOE_OSPEEDR[21:20]->00* GPIOF_OSPEEDR[21:20]->00* GPIOE_OSPEEDR[17:16]->00*/LDR R0,=0x50007008LDR R1,[R0]BIC R1,R1,#(0x3<<20)STR R1,[R0]LDR R0,=0x50006008LDR R1,[R0]BIC R1,R1,#(0x3<<20)STR R1,[R0]LDR R0,=0x50006008LDR R1,[R0]BIC R1,R1,#(0x3<<16)STR R1,[R0]/* 设置PE10,PE8,PF10引脚没有上下拉电阻* GPIOF基地址: 0x50007000 + 偏移地址: 0x0C = 0x5000700C* GPIOE基地址: 0x50006000 + 偏移地址: 0x0C = 0x5000600C* GPIOE_PUPDR[21:20]->00* GPIOF_PUPDR[21:20]->00* GPIOE_PUPDR[17:16]->00*/LDR R0,=0x5000700CLDR R1,[R0]BIC R1,R1,#(0x3<<20)STR R1,[R0] LDR R0,=0x5000600CLDR R1,[R0]BIC R1,R1,#(0x3<<20)STR R1,[R0]LDR R0,=0x5000600CLDR R1,[R0]BIC R1,R1,#(0x3<<16)STR R1,[R0]/* 设置PE10,PE8,PF10实现流水灯* GPIOF基地址: 0x50007000 + 偏移地址: 0x14 = 0x50007014* GPIOE基地址: 0x50006000 + 偏移地址: 0x14 = 0x50006014* GPIOE_ODR[10]->1* GPIOF_ODR[10]->1* GPIOE_ODR[8]->1*/
loop:LDR R0,=0X50006014LDR R1,[R0]ORR R1,R1,#(0x1<<10)STR R1,[R0]BL delayLDR R0,=0X50006014LDR R1,[R0]BIC R1,R1,#(0x1<<10)STR R1,[R0]BL delayLDR R0,=0X50007014LDR R1,[R0]ORR R1,R1,#(0x1<<10)STR R1,[R0]BL delayLDR R0,=0X50007014LDR R1,[R0]BIC R1,R1,#(0x1<<10)STR R1,[R0]BL delayLDR R0,=0X50006014LDR R1,[R0]ORR R1,R1,#(0x1<<8)STR R1,[R0]BL delayLDR R0,=0X50006014LDR R1,[R0]BIC R1,R1,#(0x1<<8)STR R1,[R0]BL delayb loop/* 延时函数 */delay:LDR R4,=0X1000000
mm:CMP R4,#0SUBNE R4,R4,#1BNE mmMOV PC,LR.end

在这里插入图片描述

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

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

相关文章

C++ 学习系列 -- std::list

一 std::list 介绍 list 是 c 中的序列式容器&#xff0c;其实现是双向链表&#xff0c;每个元素都有两个指针&#xff0c;分别指向前一个节点与后一个节点 链表与数组都是计算机常用的内存数据结构&#xff0c;与数组连续内存空间不一样的地方在于&#xff0c;链表的空间是不…

【Java 进阶篇】HTML块级元素详解

HTML&#xff08;Hypertext Markup Language&#xff09;是用于创建网页的标记语言。在HTML中&#xff0c;元素被分为块级元素和内联元素两种主要类型。块级元素通常用于构建网页的结构&#xff0c;而内联元素则嵌套在块级元素内&#xff0c;用于添加文本和其他内容。本文将重点…

异常:找不到匹配的key exchange算法

目录 问题描述原因分析解决方案 问题描述 PC 操作系统&#xff1a;Windows 10 企业版 LTSC PC 异常软件&#xff1a;XshellPortable 4(Build 0127) PC 正常软件&#xff1a;PuTTY Release 0.74、MobaXterm_Personal_23.1 服务器操作系统&#xff1a;OpenEuler 22.03 (LTS-SP2)…

Ubuntu 22.04 安装系统 手动分区 针对只有一块硬盘 lvm 单独分出/home

自动安装的信息 参考自动安装时产生的分区信息 rootyeqiang-MS-7B23:~# fdisk /dev/sdb -l Disk /dev/sdb&#xff1a;894.25 GiB&#xff0c;960197124096 字节&#xff0c;1875385008 个扇区 Disk model: INTEL SSDSC2KB96 单元&#xff1a;扇区 / 1 * 512 512 字节 扇区大…

phpstudy本地域名伪静态

环境&#xff1a;WNMP(Windows10 Nginx1.15.11 MySQL5.7.26 【PHP 7.4.3 (cli) (built: Feb 18 2020 17:29:57) ( NTS Visual C 2017 x64 ) 】) 使用PhpStudy配置本地域名后&#xff0c;设置伪静态&#xff0c;这样在Web端打开网站就不需要输入index.php了&#xff0c;很简单…

架构方法、模型、范式、治理

从架构方法、模型、范式、治理等四个方面介绍架构的概念和方法论、典型业务场景下的架构范式、不同架构的治理特点这3个方面的内容

Pycharm操作git仓库 合并等

菜单 Git CommitPushUpdate ProjectPullFetchMergreRebase 查询 查询分支 查询本地所有分支 # 查询本地分支 git branch# 查询远程分支 git branch -rPycharm查看当前分支 步骤&#xff1a; Git->Branches 哈喽&#xff0c;大家好&#xff0c;我是[有勇气的牛排]&…

ELK集群 日志中心集群

ES&#xff1a;用来日志存储 Logstash:用来日志的搜集&#xff0c;进行日志格式转换并且传送给别人&#xff08;转发&#xff09; Kibana:主要用于日志的展示和分析 kafka Filebeat:搜集文件数据 es-1 本地解析 vi /etc/hosts scp /etc/hosts es-2:/etc/hosts scp /etc…

视频转GIF:快速生成有趣的动态图片

随着社交媒体的快速发展&#xff0c;GIF动态图片已经成为了人们表达情感、分享生活片段的重要方式。将视频片段转换成GIF动态图片&#xff0c;可以让人们更好地分享和表达自己的情感&#xff0c;也可以让一些有趣的瞬间变得更加生动有趣。本文将介绍如何将视频快速转换成GIF动态…

微信小程序wxs标签 在wxml文件中编写JavaScript逻辑

PC端开发 可以在界面中编写JavaScript脚本 vue/react这些框架更是形成了一种常态 因为模板引擎和jsx语法本身就都是在js中的 我们小程序中其实也有类似的奇妙写法 不过先声明 这东西不是很强大 我们可以先写一个案例代码 wxml代码参考 <view><wxs module"wordSt…

Mac 点击桌面 出现黑边框 解决

1、桌面黑框效果 2、解决&#xff1a;设置为 仅在台前调度中

数据结构-顺序存储二叉树

文章目录 目录 文章目录 前言 一 . 什么是顺序存储二叉树 二 . 模拟实现 前序遍历 总结 前言 大家好,今天给大家讲一下顺序存储二叉树 一 . 什么是顺序存储二叉树 顺序存储二叉树是一种将二叉树的节点按照从上到下、从左到右的顺序存储在数组中的方法。具体来说&#xff0c;顺…

文件操作 和 IO - 详解

一&#xff0c;认识文件 1.1 树形结构组织和目录 文件是对于"硬盘"数据的一种抽象&#xff0c;在一台计算机上&#xff0c;有非常多的文件&#xff0c;这些文件是通过 "文件系统" 来进行组织的&#xff0c;本质上就是通过 "目录"(文件夹) 这样…

WebGoat 靶场 JWT tokens 四 五 七关通关教程

文章目录 webGoat靶场第 四 关 修改投票数第五关第七关 你购买书&#xff0c;让Tom用户付钱 webGoat靶场 越权漏洞 将webgoat-server-8.1.0.jar复制到kali虚拟机中 sudo java -jar webgoat-server-8.1.0.jar --server.port8888解释&#xff1a; java&#xff1a;这是用于执行…

MySQL命令行中文乱码问题

MySQL命令行中文乱码问题&#xff1a; 命令行界面默认字符集是gbk&#xff0c;若字符集不匹配会中文乱码或无法插入中文。 解决办法&#xff1a;执行set names gbk; 验证&#xff1a; 执行命令show variables like ‘char%’;查看默认字符集。 创建数据库设置字符集utf8&…

2023旅游产业内容营销洞察报告:如何升级经营模式,适配社媒新链路

2023年我国旅游业强劲复苏&#xff0c;上半年旅游消费增长显著&#xff0c;政府出台一系列文旅扶持政策后&#xff0c;旅游业也在积极寻求数字化转型的升级方式。 上半年以旅游消费为代表的服务业对经济的增长贡献率超过60%&#xff0c;旅游企业普遍实现经营好转&#xff0c;企…

【FPGA零基础学习之旅#14】串口发送字符串

&#x1f389;欢迎来到FPGA专栏~串口发送字符串 ☆* o(≧▽≦)o *☆嗨~我是小夏与酒&#x1f379; ✨博客主页&#xff1a;小夏与酒的博客 &#x1f388;该系列文章专栏&#xff1a;FPGA学习之旅 文章作者技术和水平有限&#xff0c;如果文中出现错误&#xff0c;希望大家能指正…

电脑散热——液金散热

目录 1.简介 2.传统硅脂与液金导热区别 3.特点 4.优点 5.为什么液金技术名声不太好 6.使用方法 1.简介 凡是对于电脑基础硬件有所了解的人&#xff0c;都知道硅脂是如今高性能电脑设备中必不可少的东西。芯片表面和散热器接触面&#xff0c;虽然肉眼看上去是非常光滑的金属…

C (1094) : DS双向链表—前驱后继

Description 在双向链表中&#xff0c;A有一个指针指向了后继节点B&#xff0c;同时&#xff0c;B又有一个指向前驱节点A的指针。这样不仅能从链表头节点的位置遍历整个链表所有节点&#xff0c;也能从链表尾节点开始遍历所有节点。 对于给定的一列数据&#xff0c;按照给定的…

C#封装、继承和多态的用法详解

大家好&#xff0c;今天我们将来详细探讨一下C#中封装、继承和多态的用法。作为C#的三大面向对象的特性&#xff0c;这些概念对于程序员来说非常重要&#xff0c;因此我们将对每个特性进行详细的说明&#xff0c;并提供相应的示例代码。 目录 1. 封装&#xff08;Encapsulati…