Tiny6410学习笔记1——GPIO

这篇博客介绍了GPIO在S3C6410芯片上的工作原理,包括GP*CON、GP*DAT等寄存器的用途,并提供了一个简单的GPIO控制LED的实验,展示了嵌入式开发的基本步骤和软件控制硬件的流程。
摘要由CSDN通过智能技术生成

GPIO硬件介绍

GPIO(General Purpose I/O Ports)意为通用输入输出端口,也就是一些引脚,通过它们输出高低电平或者通过它们读入引脚的状态——高电平还是低电平。
在S3C6410芯片中,包含187个引脚,有17个端口,分别是GPA,GPB,…,GPQ。可以通过设置寄存器来确定某个引脚是用于输入、输出还是其他特殊功能。

通过寄存器来操作GPIO引脚

既然一个引脚可以用于输入、输出和其他功能,那么一定有寄存器用来选择这些功能;对于输入,一定可以通过读取某个寄存器的值来确定引脚是高电平还是低电平;对于输出,则可以通过将高低电平写入某个寄存器实现。
在S3C6410中,每个端口有GP*CON,GP*DAT,GP*PUD,GP*CONSLP,GP*PUDSLP四种寄存器(PS:在GPK中,有GPKCON0和GPKCON1两组,有的可能只有四种中的几个,详见用户手册)。

GP*CON

即configuration,用于配置该端口中每个引脚的功能。如果当前位被用于输出,则可以在DAT寄存器中对应位写入0或1使得该引脚输出低或高电平;如果当前位被用作输入,此时DAT无用。

GP*DAT

该寄存器用于读写引脚:如果当前引脚被用于输出,则可以在DAT寄存器中对应位写入值使得该引脚输出低或高电平;如果当前引脚被用作输入,此时DAT无用。

GP*PUD

Reserved.

GP*CONSLP

Reserved.

GP*PUDSLP

Reserved.

一个简单的实验

电路图:参照原理图:
原理图
可以看出,四个LED分别是GPK4,GPK5,GPK6,GPK7。
再通过芯片手册不难查处GPK中各种寄存器对应的物理地址。
实验代码部分:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值