S3C2440点亮LED(裸机开发)

news2024/11/25 6:31:54

文章目录

  • 前言
  • 一、环境介绍
  • 一、GPIO介绍
  • 二、点亮开发板的LED
    • 1.预备动作
    • 2.led代码
  • 总结


前言

本期和大家主要分享的是使用S3C2440开发板点亮一个LED灯,可能大家拿到开发板之后做的第一件事情都是点灯,这是为什么呢?因为点灯这件事情不仅能够检验是否对GPIO接口有一个良好的应用,而且更重要的是能够检验开发环境是否正常,硬件电路,下载器是否能够正常工作;

一、环境介绍

开发环境:S3C2440开发板
开发工具:jlink+keil
需要做的事情是:编写程序控制SOC内部电路,按照外接电路要求进行信号的发送或者接收;

一、GPIO介绍

GPIO:可编程的输入输出引脚
GPIO的使用:

每一组io都有一个寄存GP*CON控制引脚作用,每个io都有2个位,控制引脚作用
每一组io都有一个寄存GP*DAT控制引脚数据,每个io都有1个位,控制引脚数据

二、点亮开发板的LED

1.预备动作

首先呢应该在原理图中找到控制led的引脚端口,进而对引脚进行相应的输出配置;从下图可以看出,从本图可以看出当nLED_1输出为低电平时,LED1被点亮,所以接下来的工作就是寻找nLED_1,也就是其对应的GPIO口;
在这里插入图片描述
从下图可知nLED_1对应的是由GPB寄存器来控制的;因此应该使能GPBCON,并且使得GPBDAT的第五位输出为低电平;
在这里插入图片描述
从下图可知,因该将GPBCON的第十位和第十一位设置为01,也就是配置为输出模式;
在这里插入图片描述

2.led代码

led代码如下:

void led_init()
{
	GPBCON &= ~(3<<10);		 //寄存器相当于全局变量,在使用的时候为了防止修改的时候影响其他位,所以先进行位清除操作
	GPBCON |= 1<<10; 		 //设置gpb5为输出功能
}

void led_on()
{
	GPBDAT &= ~(1<<5);		//设置GPB5输出为低电平
}

void led_off()
{
	GPBDAT |= 1<<5;			//设置GPB5输出为高电平
}

int main(void)
{
	led_init();				//先配置寄存器
	while(1)				//再进行业务逻辑
	{
		led_on();
		delay();
		led_off();
		delay();
	}
}

总结

本期主要分享的是使用寄存器点亮s3c2440开发板上的led,这个操作能够使我们掌握GPIO的基本配置流程以及掌握其中都有哪几种寄存器,分别的功能是什么;希望各位小伙伴们认真进行操作,你也将点亮嵌入式硬件里的一盏灯;最后,各位小伙伴们如果喜欢我的分享可以点赞收藏哦,你们的认可是我创作的动力,一起加油!

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

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

相关文章

TCP三次握手调优

SYN: Synchronize Sequence Numbers。同步序列号 服务端的优化 当服务器收到 SYN 报文后&#xff0c;服务器会立刻回复 SYNACK 报文&#xff0c;既确认了客户端的序列号&#xff0c;也把自己的序列号发给了对方。此时&#xff0c;服务器端出现了新连接&#xff0c;状态是 SYN…

MySQL系列之行转列,列转行

MySQL系列之行转列&#xff0c;列转行 之前业务出现了需要行转列的场景&#xff0c;记录一下 SQL中AVG、COUNT、SUM、MAX等聚合函数对NULL值的处理 Mysql Max、 Where和 Group By 三个关键字同时使用 执行顺序 MySql 行转列的玩法 &#xff0c;实战案例教学&#xff08;MAX…

Eolink Apikit,0 代码可拖拽的自动化测试神器

目录 一、从测试到可拖拽的自动化测试二、0 代码&#xff0c;图形化&#xff0c;好用到飞起通过图形化操作、拖拽的方式搭建测试流程 三、Eolink Apikit&#xff0c;一站式 API 研发协作平台1、多协议支持2、多种数据重用3、报告、分析、告警4、支持持续集成和部署 四、Apikit …

QT基础入门之文件操作

一、概述 Qt 作为一个通用开发库&#xff0c;提供了跨平台的文件操作能力。Qt 通过QIODevice提供了对 I/O 设备的抽象&#xff0c;这些设备具有读写字节块的能力。下面是 I/O 设备的类图&#xff1a; QIODevice&#xff1a;所有I/O设备类的父类&#xff0c;提供字节块读写的通…

Sentinel流量规则模块(降级)

sentinel的常见页面的简介 流控是对外部来的大流量进行控制&#xff0c;熔断降级的视角是对内部问题进行处理。 Sentinel降级会在调用链路中某个资源出现不稳定状态时&#xff08;例如调用超时或异常比例升高&#xff09;&#xff0c;对这个资源的调用进行限制&#xff0c;…

【JDBC系列】- jdbc的概念以及与数据库的交互流程

【JDBC系列】- jdbc的概念以及与数据库的交互流程 &#x1f604;生命不息&#xff0c;写作不止 &#x1f525; 继续踏上学习之路&#xff0c;学之分享笔记 &#x1f44a; 总有一天我也能像各位大佬一样 &#x1f3c6; 博客首页 怒放吧德德 To记录领地 &#x1f31d;分享学习…

oc UITableView 列表

// // ViewController.m // OcDemoTest // // Created by Mac on 2023/7/14. //#import "ViewController.h" // 添加协议 interface ViewController ()<UITableViewDataSource> property (weak, nonatomic) IBOutlet UITableView *tableView;endimplementat…

Node中的的util.promisify()方法的介绍和基本实现

异步编程解决方案 我们知道&#xff0c;在JS中实现异步编程主要是通过以下几种方案&#xff1a; 回调函数&#xff1a;也是在ES6之前用的最多的方式&#xff0c;缺点是容易造成callback hell&#xff0c;可读性很差观察者模式&#xff1a;在NodeJS中的很多模块都继承了EventE…

二分搜索树节点删除

本小节介绍二分搜索树节点的删除之前&#xff0c;先介绍如何查找最小值和最大值&#xff0c;以及删除最小值和最大值。 以最小值为例&#xff08;最大值同理&#xff09;&#xff1a; 查找最小 key 值代码逻辑&#xff0c;往左子节点递归查找下去&#xff1a; ... // 返回以…

3.4 Bootstrap 按钮下拉菜单

文章目录 Bootstrap 按钮下拉菜单分割的按钮下拉菜单按钮下拉菜单的大小按钮上拉菜单 Bootstrap 按钮下拉菜单 本章将讲解如何使用 Bootstrap class 向按钮添加下拉菜单。如需向按钮添加下拉菜单&#xff0c;只需要简单地在在一个 .btn-group 中放置按钮和下拉菜单即可。您也可…

❤️创意网页:如何用HTML制作菜单栏?制作好看的菜单栏样式网页

✨博主&#xff1a;命运之光 &#x1f338;专栏&#xff1a;Python星辰秘典 &#x1f433;专栏&#xff1a;web开发&#xff08;简单好用又好看&#xff09; ❤️专栏&#xff1a;Java经典程序设计 ☀️博主的其他文章&#xff1a;点击进入博主的主页 前言&#xff1a;欢迎踏入…

ChatGPT流量下降?原因竟是学生放暑假,秋季或将回暖

ChatGPT是一款由OpenAI开发的人工智能聊天机器人&#xff0c;它能够进行自然语言对话&#xff0c;并支持用户在写作业、进行研究等方面提供帮助。许多人认为它是历史上增长最快的科技产品之一&#xff0c;但近期却观察到其流量下降的现象。 根据Similarweb和其他机构在本月初发…

el-image-viewer图片预览组件使用

只需要安装了element-plus即可使用 <template><div class"preview-box"><!-- 第一种: 使用el-image - 通过点击小图, 然后预览大图, 这是官方文档提供的方法 --><el-image :preview-src-list"[/api/file/getImage/202307/3178033358P0KiZ…

基于Javaweb实现ATM机系统开发实战(十三)交易记录查看实现

老规矩&#xff0c;先看前端传递怎样的数据&#xff0c;已经把要展示数据的变量名都改了&#xff1a; <% page language"java" contentType"text/html; charsetUTF-8" pageEncoding"UTF-8"%> <% taglib prefix"c" uri"…

7、网络层(地址管理和路由选择)IP31

网络层&#xff1a;负责地址管理和路由选择 IP协议&#xff0c;路由器 一、IP协议 4位协议版本号&#xff1a;4/6 -ipv4、ipv6 4位报头长度&#xff1a;以4B为单位描述报头大小&#xff0c;IP报头最大60B最小20B 8位服务类型&#xff1a;3位优先权字段弃用&#xff0c;1位保留…

Circular lollipop | 哇咔咔!!!环形棒棒糖图好吃又好玩!~

1写在前面 今天不想废话了&#xff0c;直接看图吧。&#x1f447; 复现代码step by step&#xff0c;自己看吧。&#x1f92a; 2用到的包 rm(list ls())library(tidyverse)library(ggtext)library(patchwork) 3示例数据 df_pw <- read.csv("./passwords.csv",row…

浅析 Io 处理

文件流&#xff1a; 在Java 中&#xff0c;文件流负责操作文件&#xff0c;包括读取和写入&#xff1b; FileInputStream // 文件的字节输入流&#xff1b; FileOutputStream // 文件的字节输出流&#xff1b; FileReader // 文件的字符输入流&#xff1b; FileWriter // 文…

Python基于百度智能云平台股票资讯情感分析

Python基于百度智能云平台股票资讯情感分析 全部代码和数据地址如下&#xff1a;Python基于百度智能云平台股票资讯情感分析 本文章详细内容如下&#xff1a; 文章目录 Python基于百度智能云平台股票资讯情感分析导入相应的包1.引入库2.设置账户秘钥3.导入数据4.数据合并5.百度…

10年测试老鸟总结,性能测试-性能内存瓶颈分析(超详细)

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 性能测试-内存瓶颈…

【2023 年第三届长三角高校数学建模竞赛】B 题 长三角新能源汽车发展与双碳关系研究 18页论文、数据和代码

【2023 年第三届长三角高校数学建模竞赛】B 题 长三角新能源汽车发展与双碳关系研究 18页论文、数据和代码 1 题目 《节能与新能源汽车技术路线图 2.0》提出至 2035 年&#xff0c;新能源汽车市场占比超过 50%&#xff0c;燃料电池汽车保有量达到 100 万辆&#xff0c;节能汽车…