S3C2440点亮LED(裸机开发)

文章目录

  • 前言
  • 一、环境介绍
  • 一、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口;
S3C2440点亮LED(裸机开发)_第1张图片
从下图可知nLED_1对应的是由GPB寄存器来控制的;因此应该使能GPBCON,并且使得GPBDAT的第五位输出为低电平;
S3C2440点亮LED(裸机开发)_第2张图片
从下图可知,因该将GPBCON的第十位和第十一位设置为01,也就是配置为输出模式;
S3C2440点亮LED(裸机开发)_第3张图片

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的基本配置流程以及掌握其中都有哪几种寄存器,分别的功能是什么;希望各位小伙伴们认真进行操作,你也将点亮嵌入式硬件里的一盏灯;最后,各位小伙伴们如果喜欢我的分享可以点赞收藏哦,你们的认可是我创作的动力,一起加油!

你可能感兴趣的:(ARM体系结构与接口技术,单片机,嵌入式硬件,arm开发,linux,汇编语言)