1.设置6410的GPIO管脚的功能可以用s3c_gpio_cfgpin函数
int s3c_gpio_cfgpin(unsigned int pin, unsigned int to);
里面有两个参数,第一个pin是选择哪个引脚,第二个参数有三种定义
设置成输出模式 #define S3C_GPIO_INPUT (S3C_GPIO_SPECIAL(0))
设置成输入模式 #define S3C_GPIO_OUTPUT (S3C_GPIO_SPECIAL(1))
复用功能选择 #define S3C_GPIO_SFN(x) (S3C_GPIO_SPECIAL(x))
其实根据使用的情况来说第1,2两个定义根本就是鸡肋,只有第3个S3C_GPIO_SFN(x)才是最有用的
例如:s3c_gpio_cfgpin(S3C64XX_GPN(0), S3C_GPIO_INPUT);//设置GPN0为输入引脚
根据6410的芯片手册,
s3c_gpio_cfgpin(S3C64XX_GPE(0), S3C_GPIO_SFN(4));就是将GPE0口设置为AC97 BITCLK 功能
s3c_gpio_cfgpin(S3C64XX_GPE(0), S3C_GPIO_SFN(3));就是将GPE0口设置为I2S CLK[1] 功能
2.
数据输入输出使用gpio_get_value和 gpio_set_value函数
gpio_get_value(unsigned gpio); -----
例如:gpio_get_value(S3C64XX_GPN(0)) ;//读取GPNDAT0的值
gpio_set_value(unsigned gpio, int value); ----
int s3c_gpio_cfgpin(unsigned int pin, unsigned int to);
里面有两个参数,第一个
pin
是选择哪个引脚,第二个参数有三种定义
设置成输出模式
#define S3C_GPIO_INPUT (S3C_GPIO_SPECIAL(0))
设置成输入模式
#define S3C_GPIO_OUTPUT (S3C_GPIO_SPECIAL(1))
复用功能选择
#define S3C_GPIO_SFN(x) (S3C_GPIO_SPECIAL(x))
其实根据使用的情况来说第
1
,
2
两个定义根本就是鸡肋,只有第
3
个
S3C_GPIO_SFN(x)
才是最有用的
int s3c_gpio_cfgpin(unsigned int pin, unsigned int to);
里面有两个参数,第一个
pin
是选择哪个引脚,第二个参数有三种定义
设置成输出模式
#define S3C_GPIO_INPUT (S3C_GPIO_SPECIAL(0))
设置成输入模式
#define S3C_GPIO_OUTPUT (S3C_GPIO_SPECIAL(1))
复用功能选择
#define S3C_GPIO_SFN(x) (S3C_GPIO_SPECIAL(x))
其实根据使用的情况来说第
1
,
2
两个定义根本就是鸡肋,只有第
3
个
S3C_GPIO_SFN(x)
才是最有用的
阅读(1013) | 评论(0) | 转发(0) |