tcc893x基于Linux内核的普通GPIO操作总结
2014-12-24 09:47
274 查看
采用非平台方式进行配置GPIO引脚
采用非平台方式进行配置gpio引脚,是直接对其gpio组寄存器进行读写。由于不能直接对寄存器物理地址进行操作,所有需要利用ioremap将gpio寄存器的物理地址映射成虚拟地址写寄存器:writel(value,对应寄存器的虚拟地址);
读寄存器:value = readl(对应寄存器的虚拟地址);
采用tcc893x平台方式进行配置GPIO引脚
tcc已经帮我们实现一些函数来配置gpio对应引脚功能,常用的4个函数:定义于:arch/arm/mach-tcc893x/include/mach/gpio.h
gpio绑定到外部中断或叫gpio配置外部中断
int tcc_gpio_config_ext_int(unsigned intr, unsigned source);//intr:irq num, source: external interrupt source如:tcc_gpio_config_ext_int(INT_EINT0, EXINT_GPIOE_26);//将GPIO_E26引脚绑定到外部中断0上面,即可调用request_irq申请中断,并设置中断方式
配置gpio
int tcc_gpio_config(unsigned gpio, unsigned flags);如:tcc_gpio_config(TCC_GPE(29), GPIO_FN(0) | GPIO_PULL_DISABEL | GPIO_HIGH);//将GPIO_E29引脚设置为功能0(功能0表示GPIO_E29作为普通GPIO口)、关闭上拉下拉使能以及设置为高电平
tcc对gpio引脚功能的宏定义在arch/arm/mach-tcc893x/include/mach/include/gpio.h
读写gpio引脚的值
如:gpio_get_value(TCC_GPD(21));//读出GPIO_D21引脚的值
如:gpio_set_value(TCC_GPD(21), 1);//设置GPIO_D21引脚为高电平
相关文章推荐
- JZs3c2440裸板程序GPIO操作总结
- TI CC2530基础实验(普通GPIO操作——按一下按键亮一下灯)
- 嵌入式Linux系统中对GPIO操作的方法总结
- GPIO输出操作—使用固件库点亮LED--- 调试总结
- TI CC2530基础实验(普通GPIO操作——点亮led灯)
- DSP学习总结——GPIO口操作
- Excel 操作(总结)
- 关于PHP操作文件的一些FAQ总结
- 关于PHP操作文件的一些FAQ总结
- ASP操作Excel技术总结
- Asp操作Excel总结
- ASP操作Excel技术总结
- 基于php常用函数总结(数组,字符串,时间,文件操作)
- 总结数据库连接与操作的问题
- SqlServer数据库长文本和二进制字段操作总结(54powerman原创)
- vc使用ADO操作数据库总结 选择自 CDrea 的 Blog
- (补课)borland c++ bulder的文件操作总结-1
- (补课)borland c++ bulder的文件操作总结-3
- 文档视图框架操作总结
- (补课)borland c++ bulder的文件操作总结-4