arm 点灯实验代码以及现象
.text
.global _start
_start:
@1.设置GPIOE寄存器的时钟使能 RCC_MP_AHB4ENSETR[4]->1 0x50000a28
LDR R0,=0x50000A28
LDR R1,[R0]
ORR R1,R1,#(0x1<<4) @第4位置1
STR R1,[R0]
@1.设置GPIOF寄存器的时钟使能 RCC_MP_AHB4ENSETR[4]->1 0x50000a28
LDR R0,=0x50000A28
LDR R1,[R0]
ORR R1,R1,#(0x1<<5) @第5位置1
STR R1,[R0]@2.设置PE10管脚为输出模式 GPIOE_MODER[21:20]->01 0x50006000
LDR R0,=0x50006000
LDR R1,[R0]
BIC R1,R1,#(0x3<<20)
ORR R1,R1,#(0x1<<20)
STR R1,[R0]
@3.设置PE10管脚为推挽输出 GPIOE_OTYPER[10]->0 0X50006004
LDR R0,=0x50006004
LDR R1,[R0]
BIC R1,R1,#(0x1<<20)
STR R1,[R0]
@4.设置PE10管脚为低速输出 GPIOE_OTYPER[21:20]->00 0X50006008
LDR R0,=0x50006008
LDR R1,[R0]
BIC R1,R1,#(0x3<<20)
STR R1,[R0]
@5.设置PE10管脚输出时没有上拉下拉电阻 GPIOE_PUPDR[21:20]->00 0X5000600C
LDR R0,=0x5000600c
LDR R1,[R0]
BIC R1,R1,#(0x3<<20)
STR R1,[R0]@LED2
@2.设置PF10管脚为输出模式 GPIOE_MODER[21:20]->01 0x50007000
LDR R0,=0x50007000
LDR R1,[R0]
BIC R1,R1,#(0x3<<20)
ORR R1,R1,#(0x1<<20)
STR R1,[R0]
@3.设置PF10管脚为推挽输出 GPIOE_OTYPER[10]->0 0X50007004
LDR R0,=0x50007004
LDR R1,[R0]
BIC R1,R1,#(0x1<<20)
STR R1,[R0]
@4.设置PF10管脚为低速输出 GPIOE_OTYPER[21:20]->00 0X50007008
LDR R0,=0x50007008
LDR R1,[R0]
BIC R1,R1,#(0x3<<20)
STR R1,[R0]
@5.设置PF10管脚输出时没有上拉下拉电阻 GPIOE_PUPDR[21:20]->00 0X5000700C
LDR R0,=0x5000700c
LDR R1,[R0]
BIC R1,R1,#(0x3<<20)
STR R1,[R0]@LED3
@1.设置PE8管脚为输出模式 GPIOE_MODER[21:20]->01 0x50006000
LDR R0,=0x50006000
LDR R1,[R0]
BIC R1,R1,#(0x3<<16)
ORR R1,R1,#(0x1<<16)
STR R1,[R0]
@2.设置PE8管脚为推挽输出 GPIOE_OTYPER[10]->0 0X50006004
LDR R0,=0x50006004
LDR R1,[R0]
BIC R1,R1,#(0x1<<16)
STR R1,[R0]
@4.设置PE8管脚为低速输出 GPIOE_OTYPER[21:20]->00 0X50006008
LDR R0,=0x50006008
LDR R1,[R0]
BIC R1,R1,#(0x3<<16)
STR R1,[R0]
@5.设置PE8管脚输出时没有上拉下拉电阻 GPIOE_PUPDR[21:20]->00 0X5000600C
LDR R0,=0x5000600c
LDR R1,[R0]
BIC R1,R1,#(0x3<<16)
STR R1,[R0]@ 6.PE10输出高低电平 GPIOE_ODR[10]->1(高电平) 0(低电平) 0X50006014@LED1亮灭交替
loop:@亮LDR R0,=0X50006014LDR R1,[R0]ORR R1,R1,#(0x1<<10)STR R1,[R0]BL delay@灭LDR R0,=0X50006014LDR R1,[R0]BIC R1,R1,#(0x1<<10)STR R1,[R0]BL delay@LED2亮灭交替@亮LDR R0,=0X50007014LDR R1,[R0]ORR R1,R1,#(0x1<<10)STR R1,[R0]BL delay@灭LDR R0,=0X50007014LDR R1,[R0]BIC R1,R1,#(0x1<<10)STR R1,[R0]BL delay@LED3亮灭交替@亮LDR R0,=0X50006014LDR R1,[R0]ORR R1,R1,#(0x1<<8)STR R1,[R0]BL delay@灭LDR R0,=0X50006014LDR R1,[R0]BIC R1,R1,#(0x1<<8)STR R1,[R0]BL delayb loop@封装延时函数delay:LDR R4,=0X10000000
mm:cmp r4,#0subne r4,r4,#1bne mmmov pc,lr @程序返回.end


相关文章:
arm 点灯实验代码以及现象
.text .global _start _start: 1.设置GPIOE寄存器的时钟使能 RCC_MP_AHB4ENSETR[4]->1 0x50000a28 LDR R0,0x50000A28 LDR R1,[R0] ORR R1,R1,#(0x1<<4) 第4位置1 STR R1,[R0] 1.设置GPIOF寄存器的时钟使能 RCC_MP_AHB4ENSETR[4]->1 0x50000a28 LDR R…...
选择适合普通公司的项目管理软件
不管是打工人还是学生党都适合使用Zoho Projects项目管理软件。利用项目概览功能,将整体项目尽收眼底,作为项目管理者,项目日程、进度都可见,Zoho Projects项目管理APP助推项目每一环节的进展,更便于管理者设计项目的下…...
E (1081) : DS堆栈--逆序输出(STL栈使用)
Description C中已经自带堆栈对象stack,无需编写堆栈操作的具体实现代码。 本题目主要帮助大家熟悉stack对象的使用,然后实现字符串的逆序输出 输入一个字符串,按字符按输入顺序压入堆栈,然后根据堆栈后进先出的特点࿰…...
访问者模式 行为型设计模式之九
1.定义 在不改变数据结构的前提下,增加作用于一组对象元素的新功能。 2.动机 访问者模式适用于数据结构相对稳定的系统它把数据结构和作用于数据结构之上的操作之间的耦合解脱开,使得操作集合可以相对自由的演化。访问者模式的目的是要把处理从数据结构…...
JVM垃圾回收之JVM GC算法探究
JVM垃圾回收之JVM GC算法探究 在Java虚拟机(JVM)中,垃圾回收(Garbage Collection,GC)是自动管理内存的重要机制,它负责回收程序中不再使用的对象所占用的内存。GC算法是垃圾回收的核心…...
Django 前端模板显示换行符、日期格式
linebreaksbr 显示换行符 <td>{{ data.sku_list|default:"无"|linebreaksbr }}</td> date:"Y年m月d日 H:i" 设置日期格式 <td>{{ data.submit_time|date:"Y年m月d日 H:i" }}</td> 其他语法 forloop 获取循环的索引 …...
Aurora中的策略模式和模板模式
Aurora中的策略模式和模板模式 在aurora中为了方便以后的扩展使用了策略模式和模板模式实现图片上传和搜索功能,能够在配置类中设置使用Oss或者minio上传图片,es或者mysql文章搜索。后续有新的上传方式或者搜索方式只需要编写对应的实现类即可ÿ…...
Ubuntu 22.04 安装系统 手动分区 针对只有一块硬盘 lvm 单独分出/home
自动安装的信息 参考自动安装时产生的分区信息 rootyeqiang-MS-7B23:~# fdisk /dev/sdb -l Disk /dev/sdb:894.25 GiB,960197124096 字节,1875385008 个扇区 Disk model: INTEL SSDSC2KB96 单元:扇区 / 1 * 512 512 字节 扇区大…...
Android系统定制之监听USB键盘来判断是否弹出软键盘
一.项目背景 在设备上弹出软键盘,会将一大部分UI遮挡起来,造成很多图标无法看到和点击,使用起来不方便,因此通过插入usb键盘输入代替软键盘,但是点击输入框默认会弹出软键盘,因此想要插入USB键盘时,默认关闭软键盘,拔出键盘时再弹出,方便用户使用 二.设计思路 2.1…...
LeakyReLU激活函数
nn.LeakyReLU 是PyTorch中的Leaky Rectified Linear Unit(ReLU)激活函数的实现。Leaky ReLU是一种修正线性单元,它在非负数部分保持线性,而在负数部分引入一个小的斜率(通常是一个小的正数),以防…...
Qt单一应用实例判断
原本项目中使用QSharedMemory的方法来判断当前是否已存在运行的实例,但在MacOS上,当程序异常崩溃后,QSharedMemory没有被正常销毁,导致应用程序无法再次被打开。 对此,Qt assistant中有相关说明: 摘抄 qt-s…...
企业AI工程化之路:如何实现高效、低成本、高质量的落地?
MLOps工程实践 概述面临挑战目的内容简介读者对象专家推荐目录 写在末尾: 主页传送门:📀 传送 概述 作为计算机科学的一个重要领域,机器学习也是目前人工智能领域非常活跃的分支之一。机器学习通过分析海量数据、总结规律&#x…...
最短路径专题8 交通枢纽 (Floyd求最短路 )
题目: 样例: 输入 4 5 2 0 1 1 0 2 5 0 3 3 1 2 2 2 3 4 0 2 输出 0 7 思路: 由题意,绘制了该城市的地图之后,由给出的 k 个编号作为起点,求该点到各个点之间的最短距离之和最小的点是哪个,并…...
文件扫描模块
文章目录 前言文件扫描模块设计初级扫描方案一实现单线程扫描整合扫描步骤 设计初级扫描方案二周期性扫描 总结 前言 我们这个模块考虑的是数据库里面的内容从哪里获取。 获取完成后,这时候,我们就需要把目录里面文件/子文件都获取出来,并存入数据库。 文件扫描模…...
MySQL之主从复制
概述: 将主库的数据 变更同步到从库,从而保证主库和从库数据一致。 它的作用是 数据备份,失败迁移,读写分离,降低单库读写压力 原理: 主服务器上面的任何修改都会保存在二进制日志( Bin-log日志…...
[leetcode 单调栈] 901. 股票价格跨度 M
设计一个算法收集某些股票的每日报价,并返回该股票当日价格的 跨度 。 当日股票价格的 跨度 被定义为股票价格小于或等于今天价格的最大连续日数(从今天开始往回数,包括今天)。 例如,如果未来 7 天股票的价格是 [100…...
Java线程池:并发编程的利器
Java线程池:并发编程的利器 在多任务、高并发的时代,Java并发编程显得尤为重要。其中,Java线程池是一种高效的管理线程的工具,能够提高应用程序的性能和响应速度。本文将深入探讨Java线程池的工作原理、应用场景以及简单示例&…...
ARM硬件断点
hw_breakpoint 是由处理器提供专门断点寄存器来保存一个地址,是需要处理器支持的。处理器在执行过程中会不断去匹配,当匹配上后则会产生中断。 内核自带了硬件断点的样例linux-3.16\samples\hw_breakpoint\data_breakpoint.c static void sample_hbp_h…...
Java使用WebSocket(基础)
准备一个html页面 <!DOCTYPE HTML> <html> <head><meta charset"UTF-8"><title>WebSocket Demo</title> </head> <body><input id"text" type"text" /><button onclick"send()&…...
图像处理与计算机视觉--第五章-图像分割-自适应阈值分割
文章目录 1.自适应阈值分割介绍2.自适应阈值函数参数解析3.高斯概率函数介绍4.自适应阈值分割核心代码5.自适应阈值分割效果展示6.参考文章及致谢 1.自适应阈值分割介绍 在图片处理过程中,针对铺前进行二值化等操作的时候,我们希望能够将图片相应区域内所…...
Leather Dress Collection多场景落地:独立设计师IP开发、虚拟试衣、NFT服饰创作
Leather Dress Collection多场景落地:独立设计师IP开发、虚拟试衣、NFT服饰创作 1. 项目概述 Leather Dress Collection 是一个基于Stable Diffusion 1.5的LoRA模型集合,专门用于生成各种皮革服装风格的图像。这个系列由Stable Yogi开发,包…...
OpenClaw+Qwen3-VL:30B:低成本智能助手方案
OpenClawQwen3-VL:30B:低成本智能助手方案 1. 为什么选择本地部署的智能助手 去年我在团队内部推动了一个小实验:用公有云的对话API搭建了一个智能助手。三个月后收到账单时,那个数字让我意识到——对于长期运行的自动化任务,按…...
Windows包管理器Winget一键安装完整指南:告别繁琐手动配置
Windows包管理器Winget一键安装完整指南:告别繁琐手动配置 【免费下载链接】winget-install Install winget tool using PowerShell! Prerequisites automatically installed. Works on Windows 10/11 and Server 2022. 项目地址: https://gitcode.com/gh_mirrors…...
AIGlasses_for_navigation视频分割教程:上传→处理→下载→验证全流程详解
AIGlasses_for_navigation视频分割教程:上传→处理→下载→验证全流程详解 你是不是遇到过这样的场景:手里有一段视频,想快速找出里面的特定物体,比如盲道、斑马线,或者红绿灯?手动一帧一帧看,…...
第二十二讲 XGBoost 回归实战 + SHAP 可视化解读(基于R语言波士顿房价数据集)
1. 从波士顿房价预测开始:为什么选择XGBoost? 每次遇到回归预测问题,我都会先想到XGBoost。这个算法在Kaggle竞赛中屡获佳绩不是没有道理的——它既能处理复杂的非线性关系,又不容易过拟合。最近我用R语言的BostonHousing数据集做…...
嵌入式开发必知:如何通过.text、.data和.bss段优化内存使用(附实例分析)
嵌入式开发实战:从.text到.bss的内存优化策略与案例分析 在资源受限的嵌入式系统中,内存优化从来不是可选项,而是生存法则。当你的MCU只有几十KB RAM,而产品功能需求却在不断膨胀时,对内存分区的深入理解就成为了区分普…...
ChatDev SaaS平台终极指南:如何用AI多智能体技术10分钟开发专业软件
ChatDev SaaS平台终极指南:如何用AI多智能体技术10分钟开发专业软件 【免费下载链接】ChatDev 该项目利用由大型语言模型(LLM)驱动的多智能体协作技术,以自然语言概念为输入,实现定制化软件的开发过程。 项目地址: h…...
从1997年的论文到2024年的实践:聊聊LEO卫星网络里那个‘过时’但依然有用的DT-DVTR算法
从1997年的论文到2024年的实践:LEO卫星网络里那个‘过时’但依然有用的DT-DVTR算法 在星链(Starlink)和OneWeb掀起全球卫星互联网热潮的今天,回望1997年Markus Werner那篇开创性的论文,会惊讶地发现:现代低…...
InstructPix2Pix实现Web端图像编辑:前端开发实战
InstructPix2Pix实现Web端图像编辑:前端开发实战 1. 为什么要把InstructPix2Pix搬到浏览器里 你有没有遇到过这样的场景:设计师同事发来一张产品图,需要临时把背景换成纯白;电商运营急着要一组节日主题的海报,但PS操…...
iStoreOS软路由结合Cpolar内网穿透:打造稳定高效的居家远程办公网络
1. 为什么你需要iStoreOS软路由Cpolar组合? 最近两年远程办公越来越普遍,但很多朋友都遇到过这样的困扰:公司电脑里的文件急着要用,跑回办公室又太麻烦;出差在外需要调取内网资料,VPN连接却卡成幻灯片。我自…...
