第9章 I2C 总线原理及其应用 9.1 I2C 总线概述 9.1.1 I2C总线特点 对于嵌入式系统来说,其微处理器通常是通用型的,为了满足特殊应用,通常需要扩展一些外设。最常见的扩展方法是采用微控制器的内存映射通过并行总线来扩展这些外设,由于并行总线数量较多,通常还需要译码器电路进行地址分配,这 ...
分类:
其他好文 时间:
2020-11-04 18:53:21
阅读次数:
19
硬件情况 使用的是DS1338这款RTC时钟芯片,I2C总线对应到PS端的I2C1。 配置 内核 添加有关的驱动: 因为DS1338用的驱动与DS13307相似,一找发现是同一个配置。 CONFIG_RTC_DRV_DS1307 Device Drivers > [*] Real Time Cloc ...
分类:
系统相关 时间:
2020-10-18 09:36:09
阅读次数:
20
目前常用的微机与外设之间进行数据传输的串行总线主要有I2C总线、SPI总线和SCI总线。 其中I2C总线以同步串行2线方式进行通信(一条时钟线,一条数据线)。 SPI总线则以同步串行3线方式进行通信(一条时钟线,一条数据输入线,一条数据输出线)。 SCI总线是以异步方式进行通信(一条数据输入线,一条 ...
分类:
其他好文 时间:
2020-07-12 17:14:08
阅读次数:
73
linux驱动 分为三个部分 驱动 总线 设备 总线有platform虚拟总线,i2c总线等 比如i2c-imx.c将i2c控制器注册为platform形式 platform_driver_register(&i2c_imx_driver); platform总线的两边 分别是driver和devi ...
分类:
系统相关 时间:
2020-07-09 19:43:49
阅读次数:
94
最近在调研STM32 F10X,准备把公司AVR的MCU项目迁移到STM32上。在调研STM32 i2c这一部分时,在与i2c slave连接断开后,这时再去读/写 i2c slave需要STM32这边的i2c_read/write函数做一些处理。 刚开始在i2c读写timeout后,添加了如下代码 ...
分类:
其他好文 时间:
2020-04-16 19:17:56
阅读次数:
118
I2C总线的结构、工作时序与模拟编程 I2C总线的结构、工作时序与模拟编程I2C总线(Inter Integrated Circuit)是飞利浦公司于上个世纪80年代开发的一种“电路板级”的总线结构。与其它串行接口相比,无论从硬件结构、组网方式、软件编程都有很大的不同。在AT89C51系统上使用汇编 ...
分类:
其他好文 时间:
2020-03-14 12:59:25
阅读次数:
47
红外传感器MLX90640地址修改 因为要在I2C总线上挂载多个MLX90640需要不同的设备地址在不存在的网站中找到了大佬们回复修改地址的方法 那么在主函数中怎么实现呢 这里说一下开发时使用的是stm32f103rct6,就是淘宝卖的那个小黑板 I2C也是IO口模拟的I2C 1 delay_ini ...
分类:
其他好文 时间:
2020-02-24 20:52:01
阅读次数:
338
一、AT24C02的驱动支持 Linux系统本身就支持I2C的驱动,下面就来看一下,在Linux下如何通过I2C总线访问AT24C02芯片。先运行命令“make menuconfig”打开内核配置对话框,然后勾选Device Drivers->I2Csupport项,再勾选Device Driver ...
分类:
其他好文 时间:
2020-02-08 09:20:49
阅读次数:
67
9.6_7.linux内核的I2C子系统详解1_25.9.6.1、I2C总线汇总概览(1)三根通信线:SCL、SDA、GND(2)同步、串行、电平、低速、近距离(3)总线式结构,支持多个设备挂接在同一条总线上(4)主从式结构,通信双方必须一个为主(master)一个为从(slave),主设备掌握每次 ...
分类:
其他好文 时间:
2020-01-16 01:14:04
阅读次数:
83
平台:RK3399 使用设备树描述板级资源; 框架: linux i2c框架同样采用分层、分离的模式设计;从上到下分为 app调用层、i2c core层、驱动层;驱动层又分为 cpu平台 i2c控制器相关的驱动层以及 i2c总线上挂接的设备驱动程序;而分离的思想则体现在板级相关的信息放在设备树上实现 ...
分类:
系统相关 时间:
2020-01-12 18:18:58
阅读次数:
111