tcc893x基于Linux内核的普通GPIO操作总结
来源:互联网 发布:如何查看hdfs数据 编辑:程序博客网 时间:2024/05/18 22:16
采用非平台方式进行配置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引脚为高电平
- tcc893x基于Linux内核的普通GPIO操作总结
- tcc893x基于Linux内核的I2C总结(I2C基础、I2C适配器驱动分析)
- Linux内核操作GPIO
- linux 内核操作GPIO
- linux内核里的GPIO操作函数
- linux内核里的GPIO操作函数
- 基于MINI2440分析LINUX内核的GPIO子系统分析
- 基于linux 3.10.49内核的gpio流程分析
- Linux内核中GPIO操作函数的使用方法
- 基于ARM的Linux嵌入式系统如何操作GPIO口
- Linux 内核GPIO的学习
- 嵌入式Linux系统中对GPIO操作的方法总结
- 55 linux内核里基于GPIO口的I2C控制器驱动
- 62 linux内核里基于GPIO口的SPI控制器驱动
- Linux内核驱动之GPIO子系统(一)GPIO的使用
- Linux内核驱动之GPIO子系统-GPIO的使用
- Linux内核驱动之GPIO子系统(一)GPIO的使用
- Linux内核驱动之GPIO子系统(一)GPIO的使用
- OC学习笔记(10)Object-C方法链表
- Android开发中关于如何解决Fragment中弹出键盘会把底部菜单栏顶上去的问题以及返回键的监听问题
- Unity中摄像机
- ubuntu 外接VGA显示 不能调整为正确的分辨率
- 【iOS开发-96】网络请求总结,深浅拷贝copy和mutableCopy,SDWebImage图像下载第三方框架
- tcc893x基于Linux内核的普通GPIO操作总结
- 第十七周 项目四 当年第几天
- VS2010 根据WSDL文件生成.cs文件的办法
- Linux互斥与同步应用(三):posix线程实现单个生产者和单个消费者模型
- php连接MySQL 遇到 Call to undefined function mysql_connnect() 问题解决方法
- LoaderManager使用详解(二)---了解LoaderManager
- 基于 flash AS3.0 的BASE64编码与解码类
- esriControlsMousePointer 控制鼠标指针
- 命令行启动WebLogic报错JDK...