现有的STM32的I2C代码,由于没有使用STM32官方推荐的DMA+I2C中断优先级最高的方式,总感觉用着不放心。想要修改,却又不知道如何改是更好地。于是想查找I2C驱动部分处理的好的代码,参照将现有I2C部分程序重构下。在查找了一些代码库文件后,比对了现有的I2C程序,发现EFM32的I2C库代码部分处理的很完备。使用的是硬件I2C+超时处理机制。而且超时处理也有适当的处理。有可能是EFM32
转载
2024-08-28 20:59:54
19阅读
I2C总线是一种串行总线,有两根双向信号线。一根是数据线SDA,一根是时钟线SCL。 I2C 总线用于连接微控制器及其外围设备。它最主要的优点是其简单性和有效性。由于接口直接在组件之上,因此I2C总线减少了占用电路板的空间和芯片管脚的数量,降低了成本。I2C工作流程从下图自己测的M18727项目(国际版)中的屏幕背光I2C讲起SCL一直保持高电平,SDA由高电平到低电平跳变(下降沿),接收方在接收
转载
2024-08-13 13:13:57
48阅读
一种是利用系统提供的i2c-dev.c来实现一个i2c适配器的设备文件,然后通过在应用层操作I2C适配器来控制I2C设备;另一种是为I2C从设备独立编写一个设备驱动,不需要i2c-dev.c文件。由于前者比较简单通用性强,我们采用前者来展开。 根据android层次划分,我们照例对开发分为如下几步: 1. 添加HAL层接口
转载
2023-11-18 14:50:54
408阅读
开发环境使用ubuntu 12.04 64bit,代码位于/home/cloverbox,本文档对全志A20 CLOVER BOX开发板适用
1.cloverbox_A20源码编译
a)安装jdk,jdk版本为1.6.0_43;
b)编译lichee源码 首先解压:tar -jxv
转载
2023-12-12 22:54:11
86阅读
二、 使用JNI在应用程序框架层添加服务访问接口 APP应用不能直接访问HAL层,需要JNI层访问HAL模块并向上提供API接口。可以直接提供接口,但建议最好使用服务的方式提供访问。 我们先看JNI如何访问刚才的HAL模块。 进入源码根目录下的
转载
2023-09-24 10:41:01
284阅读
<Android开发>–内核驱动开发-- I2C设备驱动前言:本次驱动开发是基于高通平台开发的,目的是基于I2C总线,去读取器件的相关信息,然后设置设备的属性值,以备后续的开发使用。开发步骤如下:1、添加设备树节点 1)打开dts文件"LINUX/android/kernel/msm-4.4/arch/arm64/boot/dts/qcom/xxx.dts"具体文件名以实际使用为准。作者这里用到的
转载
2023-08-17 11:49:10
231阅读
SPI、I2C、UART三种串行总线协议的区别第一个区别当然是名字: SPI(Serial Peripheral Interface:串行外设接口); I2C(INTER IC BUS) UART(Universal Asynchronous Receiv
转载
2024-06-12 19:24:08
72阅读
<Android开发> Android开发工具- 之-I2C TOOLS工具使用前言:在底层开发时,有时需要借助一些工具对驱动进行调试验证。这次讲解的使用的工具是I2C_TOOLS,该工具主要是用来调试验证I2C设备的。接下来看看如何使用吧。1、获取I2C工具 下载地址:I2C_TOOLS 可以根据自己的需要下载相应的版本,作者为了在android编译,编写的android.mk文件能使用,选择了
转载
2023-10-10 18:48:32
415阅读
文章目录一、前言二、系列文章三、准备工作3.1 挑选I2C引脚3.2 测试设备:QMI8658C四、编写设备树节点4.1 查找MUX4.2 修改i2c1引脚配置4.2.1 修改前4.2.2 修改后五、编译、烧录dt.img5.1 烧录后效果六、编写test程序6.1 创建文件6.2 源码:Android.mk6.3 源码:i2c-slaver.c6.4 编译test程序七、测试7.1 部署 i2
转载
2024-08-13 09:11:49
104阅读
如何实现 Android App I2C 开发
## 简介
在本文中,我将向你介绍如何实现 Android App I2C(Inter-Integrated Circuit)开发。I2C是一种串行通信协议,广泛用于连接各种外设,如传感器、显示屏和扩展模块等。通过学习本文,你将了解到整个开发流程以及每个步骤所需的代码和注释。
## 开发流程
首先,让我们通过以下流程图来了解整个 Android
原创
2024-01-28 04:05:41
200阅读
# Android开发中的I2C通信
在现代物联网应用中,I2C(Inter-Integrated Circuit)通信协议广泛用于设备之间的短距离通信。作为Android开发者,您可能会遇到与I2C设备进行通信的需求,例如传感器和外部硬件接口。本文将带您了解如何在Android环境中实现I2C通信,并提供相关代码示例。
## I2C通信基础
I2C协议通常有两条线进行数据传输:SDA(数据
原创
2024-08-19 06:13:53
41阅读
Android 应用 I2C 开发指南
## 简介
在本篇文章中,我将向你介绍如何在 Android 应用中进行 I2C 开发。我们将以一个小白开发者的角度出发,逐步学习 I2C 的实现步骤。为了更好地理解整个过程,我们将使用表格展示每个步骤,并为每个步骤提供相应的代码和注释。
## I2C 简介
I2C(Inter-Integrated Circuit)是一种用于芯片之间通信的串行通信协议。
原创
2024-01-31 04:46:55
332阅读
1、I2C总线简介 I2C总线是一种由PHILIPS公司开发的两线串行通讯总线,用于连接为控制器及其外围设备。 I2C串行通讯总线由两条线组成: 时钟线SCL。 数据线SDA。 时钟线SCL用来同步数据的传输,数据线SDA用来传输或读取数据。 I2C总线通信设备之间常用连接方式如下: 总线一般是指多个设备共用的信号线,比如上图中的SCL总线和SDA总线,这两个总线组成了I2C通讯总线
转载
2023-12-11 10:40:22
138阅读
写在开始,因工作需要,对I2C的spec文档进行研读,主要工作就是将规范翻译为中文并补充自己的理解,根据每个章节内容进行划分,便于以后查阅,如有错误和疑问欢迎指正交流。目录1.规范介绍:INTRODUCTION TO THE I2C-BUS SPECIFICATION2.基本概念:THE I2C-BUS CONCEPT3.一般特征:GENERAL CHARACTERISTICS4.位传输:BIT
转载
2023-10-17 18:03:59
256阅读
这几天在学的i2c总线,总结的一些。第一次写博客,如果有错,欢迎指出一、I2C系统总体架构 1、I2C系统架构由三个部分组成I2C核心(i2c-core):I2C总线驱动(adapter)和设备驱动的注册、注销方法,i2c_client和i2c_adapter的匹配I2C总线驱动(i2c_adapter,i2c_algorithm):i2c核心对硬件的交流。操作从
转载
2023-08-31 11:33:39
269阅读
.Android I2C精析基于linux内核开发的arm系统,会用到很多components。要让这些components正常的工作,我们必须了解它们的接口,懂得如何去注册总线,初始化芯片,进而让芯片正常的工作。下面我会介绍在arm开发过程中使用最频繁的一些接口和总线的原理,以及如何在开发的过程中去使用它们。1 I2C总线与接口I2C总线具有结构简单,使用方便的特点。下面我会
转载
2023-08-17 11:50:31
130阅读
本文基于i2c总线,简述了设备树的使用方式
@目录博客说明开发环境1. 如何使用设备树1.1 u-boot支持设备树1.2 Linux内核支持设备树1.3 如何在开发板中使用设备树2. 设备树介绍2.1 设备树中的设备驱动节点2.2 设备树匹配流程2.2.1 以i2c匹配为例2.2.2 设备树匹配下的程序模板2.3 设备树中的设备节点转换附录参考资料博客
转载
2023-07-16 22:05:28
430阅读
I2C是一种总线式结构,它只需要SCL时钟信号线与SDA数据线,两根线就能将连接与总线上的设备实现数据通信,由于它的简便的构造设计,于是成为一种较为常用的通信方式。 由于I2C采用的是主从式通信方式,所以,通信的过程完全由主设备仲裁。在通信之前,必须由主设备发送一个起始信号,决定数据是否可以开始传送,并且在结束通信时,必须再由主设备发送一个结束信号,以表示通信已经结束。&n
转载
2023-07-19 14:42:03
303阅读
参考文档
转载
2024-03-27 11:49:11
129阅读
以下内容源于朱有鹏嵌入式课程的学习与整理,如有侵权请告知删除 。参考博客I2C通信 - 知乎三大通信协议(二):IIC通信协议-腾讯云开发者社区-腾讯云I2C通信协议 - 知乎一文搞懂I2C通信 - 知乎一、I2C通信的简介 I2C通信,指两个设备之间通过I2C总线进行通信,遵循I2C通信的协议。1、I2C总线简介I2C(Inter-Integrated Circuit),中文应该叫内部
转载
2024-08-16 12:03:51
280阅读