arm 点灯实验代码以及现象(c语言版本)

news2024/9/24 13:19:39

.led.h

#ifndef __LED_H__
#define __LED_H__
//构建寄存器组织结构体
typedef struct
{
	unsigned int moder;    
	unsigned int otyper; 
	unsigned int ospeedr;
	unsigned int pupdr;
	unsigned int idr;
	unsigned int odr;
}gpio_t;

#define GPIOE (*(gpio_t*)0x50006000)
#define GPIOF (*(gpio_t*)0x50007000)
#define RCC   (*((unsigned int *)0x50000A28))

void delay(int ms);
void all_led_init();

#endif

led.c

#include"led.h"
//延时函数
void delay(int ms)
{
	int i,j;
	for(i=0;i<ms;i++)
	{
		for(j=0;j<2000;j++);
	}
}

//GPIO初始化
void all_led_init()
{
	//RCC使能
	RCC |= (0x3<<20);
	//设置PE10 PF10 PE8为输出
	GPIOE.moder &= (~(0x3<<20));
	GPIOE.moder |= (0x1<<20);
	GPIOF.moder &= (~(0x3<<20));
	GPIOF.moder |= (0x1<<20);
	GPIOE.moder &= (~(0x3<<16));
	GPIOE.moder |= (0x1<<16);
	//设置推挽输出
	GPIOE.otyper &= (~(0x1<<10));
	GPIOF.otyper &= (~(0x1<<10));
	GPIOE.otyper &= (~(0x1<<8));
	//设置三个管脚低速输出
	GPIOE.ospeedr &= (~(0x3<<20));
	GPIOF.ospeedr &= (~(0x3<<20));
	GPIOE.ospeedr &= (~(0x3<<16));
	//设置三个管脚输出时无上拉电阻和下拉电阻
	GPIOE.pupdr &= (~(0x3<<20));
	GPIOE.pupdr &= (~(0x3<<20));
	GPIOE.pupdr &= (~(0x3<<20));
	



}

main.c

#include "led.h"

int main()
{
	//完成GPIO的相关初始化
	all_led_init();
	while(1)
	{
		//LED1亮
		GPIOE.odr |= (0x1<<10);
		GPIOF.odr &= (~(0x1<<10));
		GPIOE.odr &= (~(0x1<<8));
 		delay(1000);
		GPIOE.odr &= (~(0x1<<10));
		GPIOF.odr |= ((0x1<<10));
		GPIOE.odr &= (~(0x1<<8));
 		delay(1000);
		GPIOE.odr &= (~(0x1<<10));
		GPIOF.odr &= (~(0x1<<10));
		GPIOE.odr |= (0x1<<8);
 		delay(1000);


	}
	return 0;
}

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

全图化在线系统设计

Pillars是什么 Pillars是一个Serverless全图化业务托管平台。Pillars应用全图化开发模型,提供丰富的运行时组件,支持CI/CD全生命周期项目管理,具备主动式资源优化能力。 Pillars解决什么问题 当前广告系统架构采用分布式微服务的设计理念,通过服务分治实现各组织间开发、…

java基础 API Calendar类

Calendar日历类 &#xff1a; package daysreplace;import com.sun.jdi.IntegerValue;import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Arrays; import java.util.Calendar; import java.util.Date;public class Test {public static v…

关于AAPT2 error: check logs for details 的问题分析定位与排查解决方法

关于AAPT2 error: check logs for details 的问题分析定位与排查解决方法 现象描述1、排查2、定位3、解决 现象描述 在android studio的项目开发过程中&#xff0c;经常会遇到关于AAPT2 error: check logs for details 这种类似的问题。一般都是jar包冲突导致的&#xff0c;尤其…

无声的世界,精神科用药并结合临床的一些分析及笔记(四)

目录 关于镇静催眠药 第二代与第三代药物的主要区别 第二代镇静催眠药物 如何简单的识别 适用性 第三代镇静催眠药物 如何简单的识别 适用性 关于成瘾性 为什么会变胖&#xff1f; “开源” “节流” 哪种催眠药“劲儿”大? 第二代 BZDs 第三代 non-BZDs 用药…

【数据结构】算法效率的度量方法

&#x1f984;个人主页:修修修也 &#x1f38f;所属专栏:数据结构 ⚙️操作环境:Visual Studio 2022 目录 &#x1f38f;事后统计方法 &#x1f38f;事前分析估算方法 &#x1f38f;函数的渐进式增长 结语 在上篇文章中我们提到了算法的设计要求中我们要尽量满足时间效率高…

Zabbix第二部分:基于Proxy分布式部署实现Web监控和Zabbix HA集群的搭建

代理和高可用 一、基于zabbix-proxy的分布式监控1.1 分布式监控的作用1.2 数据流向1.3 构成组件 二、部署zabbix代理服务器Step1 前置准备Step2 设置 zabbix 的下载源&#xff0c;安装 zabbix-proxyStep3 部署数据库并将zabbix相关文件导入Step4 修改zabbix-proxy的配置文件&am…

【NLTK系列01】:nltk库介绍

一、说明 NLTK是个啥&#xff1f;它是个复杂的应用库&#xff0c;可以实现基本预料库操作&#xff0c;比如&#xff0c;、将文章分词成独立token&#xff0c;等操作。从词统计、标记化、词干提取、词性标记&#xff0c;停用词收集&#xff0c;包括语义索引和依赖关系解析等。 …

ntlm哈希传递

哈希传递就是ntlm哈希 概念 早期SMB协议铭⽂在⽹络上传输数据&#xff0c;后来诞⽣了LM验证机制&#xff0c;LM机制由于过于简 单&#xff0c;微软提出了WindowsNT挑战/响应机制&#xff0c;这就是NTLM LM NTLM 哈希传递攻击是针对相同密码的用户认证直接发起攻击&#xff0c…

Flex 布局中避免子元素高度被撑高

Flex 布局中避免子元素高度被撑高 Flex 布局中子元素高度容易被最高元素撑高&#xff0c;使用 align-self 可避免。 之前&#xff1a; 之后&#xff1a; /* 此处是居中对齐&#xff0c;也可使用 flex-start 顶部对齐 */ align-self: center;

SuperMap iServer 影像服务自动守护能力

作者&#xff1a;Carlo 目录 一、监控目录能力1、影像服务创建后&#xff0c;在添加影像集合时配置自动追加2、配置集合基本信息3、开启自动追加4、效果展示 二、静默切片支持计划任务1、配置影像集合静默切片任务2、配置瓦片方案3、配置静默切片计划任务4、效果展示 背景&…

leetCode 15.三数之和 双指针解法

给你一个整数数组 nums &#xff0c;判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i ! j、i ! k 且 j ! k &#xff0c;同时还满足 nums[i] nums[j] nums[k] 0 。请你返回所有和为 0 且不重复的三元组。 注意&#xff1a;答案中不可以包含重复的三元组。 示例 1&…

日常学习记录随笔-大数据之日志(hadoop)收集实战

数据收集(nginx)--->数据分析---> 数据清洗--->数据聚合计算---数据展示 可能涉及到zabix 做任务调度我们的项目 电商日志分析 比如说我们现在有一个系统,我们的数仓建立也要有一个主题 我这个项目是什么我要干什么定义方向 对用户进行分析,用户信息 要懂整个数据的流…

【c++】new一个新数组时数组地址变化的现象

若new生成数组的时候&#xff0c;无论每一行的行数组大小是否相同&#xff0c;其一维指针与实际元素存放的地址完全不同。 #include<iostream> using namespace std;int main(void) {int** dp new int* [5 1];for (int i 0; i < 5; i) {dp[i] new int[i];//初始化…

java基础API date日期

package daysreplace; import com.sun.jdi.IntegerValue;import java.text.SimpleDateFormat; import java.util.Arrays; import java.util.Date;public class Test {public static void main(String[] args) {Date date new Date();System.out.println(date);//输出不为内存地…

乐鑫 ESP-Mesh-Lite在windows下的开发环境搭建(二)

上一篇文章的只能在例程文件夹内进行编译&#xff0c;一旦将示例程序复制到其他文件夹&#xff0c;清理后再编译时会出现编译错误。今天发现了一种的开发环境部署方法&#xff0c;实际上esp-mesh-lite文件夹里就有介绍&#xff0c;只是我还不熟悉IDF的操作&#xff0c;到今天才…

[LitCTF 2023]作业管理系统 - 文件上传+弱口令

[LitCTF 2023]作业管理系统 解题流程 解题流程 1、F12看到页面源代码有注释&#xff1a;默认账户admin admin   使用&#xff1a;admin-admin 可直接登录 2、上传一句话木马   3、蚁剑连接找flagNSSCTF{d969ad7a-9cb5-4564-a662-191a00e007a5}

代码随想录算法训练营第四十八天 | 70. 爬楼梯 (进阶)、322. 零钱兑换、279.完全平方数

70. 爬楼梯 &#xff08;进阶&#xff09; 链接&#xff1a; 代码随想录 &#xff08;1&#xff09;代码 322. 零钱兑换 视频讲解&#xff1a;动态规划之完全背包&#xff0c;装满背包最少的物品件数是多少&#xff1f;| LeetCode&#xff1a;322.零钱兑换_哔哩哔哩_bilibili …

Go 1.22 将修复 for 循环变量错误

导读上月正式发布的 Go 1.21 修改了 for 循环变量的语义&#xff08;预览阶段&#xff0c;点此查看详情&#xff09;。 现在&#xff0c;Go 团队表示 Go 1.22 会将这项特性发布为正式功能。 根据 Go 开发团队技术 leader Russ Cox (rsc) 的介绍&#xff0c;Go 开发者经常会犯的…

【C++】STL详解(十四)—— bitset(位图)的模拟实现

​ ​&#x1f4dd;个人主页&#xff1a;Sherry的成长之路 &#x1f3e0;学习社区&#xff1a;Sherry的成长之路&#xff08;个人社区&#xff09; &#x1f4d6;专栏链接&#xff1a;C学习 &#x1f3af;长路漫漫浩浩&#xff0c;万事皆有期待 上一篇博客&#xff1a;【C】STL…

日常学习记录随笔-seata

我们知道所有的事务都要满足ACID的原则,也就是原子性 一致性 隔离性 持久性 在单体架构中服务访问db.基于数据库本身的特性就能够实现acid 微服务的架构比较复杂 可能一个业务要跨越多个服务 每个服务又会有自己的db库 再靠数据库本身的特性 还能保证acid么这个业务 就包含3…