GPIO

2.1 硬件

原理说明:
    GPC1_3为高电平时:三极管Q1导通,导致LED1的两端出现电势差,从而灯亮;
    GPC1_3为低电平时:三极管Q1断开,导致LED1的两端电压都为5V,从而灯灭。
2.2 LED驱动开发
    在知道了硬件如何工作之后现在就可以进行软件方面的开发了。
    说明:这里使用的Linux的内核版本是TQ210光盘配置的内核Kernel_3.0.8_TQ210_for_Android_v1.0,在光盘的位置:TQ210_CD/Android资源/Android 4.0/Android内核源码/ Kernel_3.0.8_TQ210_for_Android_v1.0.tar.bz2;本章节讲解的源码位于内核的drivers/char/命令,名为:tq_leds.c。如果您使用的是Android 2.3.1配套的内核,部分函数可能与本手册所讲的有差别,具体请参考天嵌科技光盘的TQ210_CD/Android资源/Android 2.3/Android内核源码/ Kernel_2.6.35.7_TQ210_for_Android_v1.1.tar.bz2压缩包对应的内核源码的drivers/char/tq_leds.c文件。
2.2.1 常用函数及相关说明
    在开始之前对常用的gpio的常用操作函数做个大概的了解。
    说明:下面介绍GPIO操作的函数仅讲解用法,至于实现过程请自行分析内核源码。
管脚定义: 
S5PV210_GPx(X)
表示GPx中的第X个脚。
例子:
S5PV210_GPC1(4)            表示GPC1_4脚
S5PV210_GPH3(15)        表示GPH3_15脚
S5PV210_GPH0(2)            表示GPH0_2脚

管脚功能定义:
S3C_GPIO_SFN(x)
    表示使用管脚的第x个功能。这个功能对应手册中的GPCON中的功能定义。一般是0是输入,1为输出,2-14是特殊功能(具体表示什么功能要看具体引脚),15是中断。
    更详细的功能描述请自行查看手册。单只是这一个宏是没有意义的,必须要看它具体使用在哪个引脚上,如下图就是GPB_7的功能配置。此时S3C_GPIO_SFN(2),则表示作为SPI1的MOSI输出功能


常用函数说明
    int s3c_gpio_cfgpin(unsigned int pin, unsigned int to)
    指定的管脚gpio配置成指定的功能to。习惯上to参数使用宏S3C_GPIO_SFN(x)来指定功能。
例子:
s3c_gpio_cfgpin(S5PV210_GPB(0), S3C_GPIO_SFN(2));            表示将GPB_0配置成特殊功能0x02,查芯片手册可知这个功能是SPI_0_CLK功能。
s3c_gpio_cfgpin(S5PV210_GPC1(3), S3C_GPIO_SFN(1));            表示将GPC1_3配置成输出功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值