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