LPC2103学习之GPIO

本文介绍了LPC2103微控制器的GPIO配置,包括PINSEL0和PINSEL1寄存器的使用,以及如何通过读取-修改-回写的方法设置引脚功能。同时,讲解了LPC2103的GPIO模式和相关控制寄存器,并提出在编程过程中遇到的一个关于IO0CLR寄存器操作的问题。
摘要由CSDN通过智能技术生成

不写作业写博客

 

直接切入正题

 

LPC2103关于引脚的寄存器有两个PINSEL0与PINSEL1,都是32位宽度。

 

PINSEL0与PINSEL1寄存器的每两位控制一个引脚的功能,则一个脚最多有4种功能。其中PINSEL0控制着P0.0到P0.15的引脚。PINSEL1控制着P0.16到P0.31的引脚。

 

PINSEL寄存器的设置只需两个步骤。一找到要设置的引脚。二是选择引脚的功能。

如图所示:

下面举例说明

1.设置P0.0为GPIO功能

PINSEL0 = 0x00   /*设置P0.0到P0.15都为GPIO*/

2.设置P0.0为TxD0功能

PINSEL0 = (PINSEL0 & 0xFFFFFFFC) | 0x01;       /*设置P0.0的功能为TxD0*/

当然如果为了不改变原来引脚的功能。你应该采取“读取——修改——回写”的方式进行。即先读取寄存器值,然后进行一些逻辑的与、或等操作,最后把修改值再写回寄存器。

比如:

PINSEL0 = (PINSEL0 & 0xFFF0FFFF) | (0x05 << 16);  /*设置P0.8与P0.9功能为TxD1/RxD1*/

 

关于LPC2103的GPIO

      LPC2103只有一个32位的通用IO口。由于引脚的功能复用,使用前必须进行相关引脚设置,再进行操作。比如P0.27到P0.31就是JTAG调试引脚。LPC2103的GPIO模式有低速与高速模式。

高速GPIO的控制寄存器位于CPU的局部总线

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值