i.MX6ULL驱动开发 | 22 - 使用PCF8574扩展gpio
一、PCF8574
PCF8574是一个 8 bit IO扩展芯片,使用两线I2C通信接口,提供了8位准双向的IO口(P0-P7),包括具有高电流驱动能力的锁存输出,用于直接驱动led。每个准双向I/O都可以用作输入或输出,而无需使用数据方向控制信号。 上电时,所有IO的电平默认是高电平。
1. 引脚描述
引脚图如下:
引脚描述如下:
2. 功能描述
I2C从机地址如下:
二、Linux内核中自带的驱动
Linux对于IO扩展芯片的驱动在drivers/gpio/
路径下,比如对于PCF8574芯片,驱动文件为 gpio-pcf857x.c
文件。
可以看到该驱动支持的芯片如下:
控制该文件的宏定义为 CONFIG_GPIO_PCF857X
i.MX6ULL驱动开发 | 22 - 使用PCF8574扩展gpio相关推荐
- Linux嵌入式驱动开发13——ioctl接口(gpio控制使用)
文章目录 全系列传送门 引言 什么是unlocked_ioctl接口? unlocked_ioctl和read/write函数有什么相同和不同 unlocked_ioctl接口命令规则 命令的合成宏与 ...
- i.MX6ULL驱动开发 | 04-Linux设备树基本语法与实例解析
文章目录 一.设备树简介 1. 设备树在ARM架构的引入 2. 什么是设备树 3. DTS.DTSI.DTB 4. 设备树编译 二.设备树语法 1. 设备树版本 2. 设备树节点 3. 设备树节点标准 ...
- i.MX6ULL驱动开发 | 27 - 使用WM8960 CODEC播放音频
一.WM8960音频编解码芯片 1. 介绍 WM8960是欧胜公司(wolfson)的一款低功耗.高质量的立体声音频编解码芯片. 其内部集成D类喇叭功放,每个通道可以驱动一个1W喇叭(8Ω),内部集成 ...
- i.MX6ULL驱动开发 | 02-字符设备驱动框架
一.字符设备驱动框架 1. file_operations结构体 在Linux中应用程序运行在用户空间,而驱动程序属于内核的一部分,在内核空间运行.用户需要通过系统调用陷入到内核空间,才能实现对底层驱 ...
- i.MX6ULL驱动开发 | 12 - 基于 Linux I2C 驱动读取AP3216C传感器
本系列文章驱动源码仓库,欢迎Star~ https://github.com/Mculover666/linux_driver_study. 一.AP3216C 1. 简介 AP3216C集成了一个光 ...
- i.MX6ULL驱动开发 | 15 - Linux UART 驱动框架
Linux UART 驱动框架比较简单,不需要设备驱动,只需要UART设备驱动即可. 一.Linux UART驱动框架 1. uart_driver结构体 Linux将 UART 驱动抽象为 uart ...
- i.MX6ULL驱动开发 | 31 - Linux内核网络设备驱动框架
一.Linux网络设备驱动整体架构 网络设备是完成用户数据包在网络媒介上发送和接收的设备,它将上层协议传递下来的数据包,以特定的媒介访问控制方式进行发送,并将接收到的数据包传递给上层协议. Linux ...
- i.MX6ULL驱动开发 | 30 - 使用EC20 4G网卡(移植移远GobiNet驱动)
一.EC20 EC20在Linux下的驱动架构: 二.Linux内核中USB驱动的修改与配置 1. EC20 USB驱动修改 默认插上之后没有出来ttyUSB设备,需要在内核中添加EC20的USB设备 ...
- i.MX6ULL驱动开发 | 29 - 使用USB WIFI网卡(RTL8188EU)
一.USB无线网卡 插到电脑上看下型号是Realtek RTL8188EU版本: 二.添加驱动到Linux中 1. realtek驱动源码 使用正点原子资料包中的源码: 2. 删除内核自带的RTL81 ...
最新文章
- MySQL RR隔离级别的更新冲突策略
- 【翻译】A Next-Generation Smart Contract and Decentralized Application Platform
- 字节跳动pest分析_字节跳动小程序分析:前景及优势都是什么?
- 使用librosa计算pcen
- mysql 组复制和传统复制_MySQL的GTID复制与传统复制的相互切换
- 【iHMI43 应用演示】之 modbus 协议(从机)通信演示
- C++比较两个字符串是否完全相同
- ueditor 上传视频丢失src的解决方法
- SQL注入:5、SQL盲注
- 【AI视野·今日NLP 自然语言处理论文速览 第四期】Wed, 9 Jun 2021
- spring4.1.3模块的官方说明
- React学习笔记三 脚手架生成的index.js内容简介
- 更改桌面壁纸_使用DeskSlide轻松更改桌面墙纸
- html 页面定位到指定位置的4种实现方式
- 抽象类(abstract)
- linux 的tac命令,每天学一个 Linux 命令(102):tac
- 前端项目如何使用svg矢量图
- 4维俄罗斯方块 java,课内资源 - 基于Easyx插件的俄罗斯方块游戏的设计与实现
- java 姓名_Java生成随机姓名、性别和年龄的实现示例
- 微信小程序好看的图文混排文章样式
热门文章
- 刷QQ群的VBS脚本
- 语音助手究竟是“人工智能”还是“人工智障?
- (一)Linux中vi的复制粘贴命令
- 【mvn打包】.jar 和 .jar.original的区别
- UML图中包含(include)和扩展(extend)关系的区别
- QQ资料修改器无法连接封面服务器,qq个性封面图片_新版QQ个人资料修改封面图片的方法...
- gcc编译选项-fPIC
- 示例解析缓冲区溢出攻击的原理
- 三大通信协议(二):IIC通信协议
- 八.vue获取dom元素