S3C2440A 具有130 个多功能输入/输出脚,分别包含在如下9 组端口中。
●1 个25 位输出端口(端口A)。
●1 个11 位输出端口(端口B)。
●4 个16 位输入/输出端口(端口C、D、E、G)。
●1 个8 位输入/输出端口(端口F)。
●1 个9 位输入/输出端口(端口H)。
●1 个13 位输入/输出端口(端口J)。
基本上,每个端口有三个寄存器:
GPnCON:端口配置寄存器,多数端口有多种功能,所以需要这个寄存器来使某个端口确定某一功能。
GPnDAT:端口数据寄存器,当端口为输出功能时:写这个寄存器就是使端口引脚输出相应电平;当端口为输入功能时:读这个寄存器就是读端口引脚上的相应电平;
GPnUP:端口上拉寄存器,决定端口是否具有内部上拉功能。
下面做个程序,使GPF4引脚上的LED灯闪烁。
GPF4的设置
GPFCON[9:8] 00 = Input 01 = Output
10 = EINT[4] 11 = Reserved
GPF4的设置
GPFDAT的相应位分别对应每个引脚
//********************************************************************
void Main(void)
{
int i;
……硬件初始化……
LED();
while(1);
}
void LED(void)
{
int i;
Uart_Printf("nIO LED 实验n");
Uart_Printf("GPF4----LED1闪烁n");
rGPFCON = rGPFCON & ~(3<<8) | 1<<8 ;//设置GPF4为输出功能
while(1)
{ for(i=0; i<10000000; i++); //延时
rGPFDAT = rGPFDAT ^ 1<<4 ;//GPF4电平反转
}
}
//*******************************************************************
结果如下图:
Very good,我们又学会了用一种新的处理器点亮LED。
下面实验一个四个灯的流水灯实验,这四个灯接GPF4-GPF7
//********************************************************************
void Main(void)
{
int i;
……硬件初始化……
LED();
while(1);
}
void LED(void)
{
int i;
Uart_Printf("nIO 流水灯 实验n");
rGPFCON = rGPFCON & ~(0xff<<8) | 1<<8 | 1<<10 | 1<<12 | 1<<14 ;//设置GPF4、5、6、7为输出功能
rGPFDAT &= ~ ( 1<<4 | 1<<5 | 1<<6 | 1<<7 ) ;//GPF4电平反转
while(1)
{ for(i=0; i<20000000; i++); //延时
rGPFDAT = rGPFDAT ^ 1<<4 ;//GPF4电平反转
for(i=0; i<20000000; i++); //延时
rGPFDAT = rGPFDAT ^ 1<<5 ;//GPF5电平反转
for(i=0; i<20000000; i++); //延时
rGPFDAT = rGPFDAT ^ 1<<6 ;//GPF6电平反转
for(i=0; i<20000000; i++); //延时
rGPFDAT = rGPFDAT ^ 1<<7 ;//GPF7电平反转
}
}
//*******************************************************************
运行:四个灯轮流亮
上一篇:2440裸机编程之四 外部中断
下一篇:2440裸机编程之十一 GPRS
设计资源 培训 开发板 精华推荐
- 使用 Cypress Semiconductor 的 MB3778 的参考设计
- LM75温度传感器模块
- LTC2601IDD 16 位轨至轨 DAC 在 10 引脚 DFN 中的典型应用
- FEBFL77944_L80L012A,基于 FL77944 12W 筒灯交流 LED 驱动器的评估板,低线电压,无 SVF
- SiP7905BA 三端固定负电压稳压器的典型应用
- 基于深度学习的口罩佩戴识别检测系统的设计
- LTM8052AMPY 用于为超级电容器充电和主动平衡的典型应用
- TDA1519CL
- LTC2230CUP 演示板,高速 ADC,VCC = +3.3V,170Msps,10 位 AIN > 100MHz
- NCV7691RCLV1GEVB:八路后组合灯评估板
- 使用Keil MDK运行第一个STM32程序
- S3c2440ARM异常与中断体系详解2---CPU模式(Mode)状态(State)
- 关于汽车ADAS系统中传感器融合与域控制架构的讨论
- 新思科技收购AI驱动的实时性能优化领导企业Concertio
- “腾讯Nintendo Switch 2周年庆典”首周折扣游戏公布了
- IC insights:预计2022年半导体行业资本支出将增24%至1904亿美元
- 《万用表仪器》的使用
- 全球TOP 25芯片企业,中国大陆无一上榜
- 基于微处理器LPC2214和GPS接收器实现车载导航终端的设计
- STM32CUBEIDE(11)----输出PWM及修改PWM频率与占空比