My philosophy: Simple and practical can be, do not engage in a pile of source code out, the results show people do not know how to use, Look at me:
1, in arch/arm/mach-xxx/own platform file to add I2C information, beauty its name Yue: i2c_board_info
For example:
static struct I2c_board_info __initdata xxxi2c_board_info[] = {{I2c_board_info ("Abcd1", 0x20),/* string to match the back, 0x20 from the device address * *. Platform_data = 0,},{I2c_board_in
1. InstallationI2C drive load and rate changes check the blog "Raspberry School notes--I2C device load and rate settings".
2.I2C Bus ScanThe I2cdetect-l command allows you to view the I2C bus on the raspberry pie, and from the results of the return, the raspberry pie contains two I2C buses, and by reading the relevant
Address: http://blog.csdn.net/coder_jack/article/details/6419903
Send a start and stop command consecutively for the following test:
1. Send the start command to address an existing device, receive the ACK, and then send the Stop command. Everything is normal and the Stop waveform is displayed.
2. Send the start command to address a non-existing slave device. If no response is received, send the Stop command to release the bus and the waveform of the bus release cannot be seen. Only the check re
Principles, differences and Applications of SPI, I2C, and UART Serial Bus
1. UART is a two-line interface. One transmission and one receiving interface can communicate with each other in full duplex mode, and the number of lines is relatively small. Data is transmitted asynchronously, with strict timing requirements on both parties, and the communication speed is not fast. It is used most frequently for multi-host communication.2. Compared
During Android development and transplantation, you sometimes need to read and write a device, but the system may not provide the corresponding services. We need to develop our own hardware access service to control devices. The following example is the process of reading and writing the most simple I2C device EEPROM, I2C driver writing there are two ways, one is to use the
1.OV PWDN is a high level of effective, that is, high electricity peacetime camera sleep, at this time I2C also do not work (with i2cdetect detection), in low electricity peacetime camera work;
2.i2cdetect is a very good tool, you use this work, do not care about the device's register address and data bit width, as long as the device to ensure the operating voltage and its mount to which a I2C controller, y
1. Get the source code of I2C tools
Reference: http://lm-sensors.org/wiki/I2CTools
$ Wget http://dl.lm-sensors.org/i2c-tools/releases/i2c-tools-3.1.0.tar.bz2
2. Compile the source code
$ Tar-jxvf i2c-tools-3.1.0.tar.bz2
$ I2c-tools-3.1.0 CD
$ Cc = arm-None-Linux-gnueabi-GCC
Debug I2C modules in the near future. I think I am the most familiar with I2C. One is that the Protocol price is simple, and the other is that this module is also available in the set-top box. However, this familiar thing has made me tune it for three days! Some of the failure lessons are summarized as follows to learn from yourself and later.
1. When there is no problem with all the time sequences, I modi
This article is not original, mainly because it has recently solved an I2C problem. During this period, I read a lot of rich blog posts and now I will sort out this sub-system.
Eric Xiao described the entire I2C framework in detail and helped me a lot. I would like to express my gratitude here. It seems to be Chengdu too ....
++
Here we will record it in a slightly "vulgar" language to facilitate your memo
i2c--2.6.34 Document: How to enumerate the generated i2c_client
============================================Author: yuanluluHttp://blog.csdn.net/yuanluluCopyright No, but reprint please retain this paragraph statement============================================
According to their own understanding, the http://lxr.linux.no/linux+v2.6.34/Documentation/i2c/instantiating-devices is translated into the do
/************************************************************************** * i.mx6 AT24Cxx EEPROM Linu X I2c-gpio * Disclaimer: * Many times when we use the Linux system management hardware, more is through the chip controller, * but sometimes, we will also encounter the chip in the control is not enough, or in the design of the process of accidents, such as no * have thought controller exists, the content of this article is because For the fourth co
1. Communication interface
I2C send or receive data in packets struct I2C_MSG encapsulation
[CPP]
struct I2C_MSG {
__u16 addr; From machine address
__U16 flags; Sign
#define I2c_m_ten 0x0010//10-bit address flag
#define I2C_M_RD 0x0001//Receive data markers
__u16 Len; Data length
__u8 *buf; Data pointers
};
Where addr is the address of the machine; flags are the sign of this communication, sending the data as 0, and receiving the data as the number of
Blogger Press: hot day, just loaded from the fifth crossing to the stone room, about 4 kilometers. Finally let me find a coffee house to take a break and continue to write this driver analysis. Single life is boring. Don't complain. Let's show it to yourself! It's difficult to step on at your feet! Continue the whole process !~
First, I have a question in this article, but I have never understood it. I am very grateful to you for writing it here!
# Define i2c_m_nostart 0X4000/* If i2c_func_prot
I'm confused about the I2C bus protocol? I was not quite clear when I first saw it. Let's take a look at the role of the I2C bus. Maybe this will give you a little bit of understanding.
I2C bus application
At present, many semiconductor integrated circuits have integrated I2C interfaces. Single-Chip Microcomputer with
Linux I2C driver architecture1. Linux I2C driver architecture in Linux, I2C BUS drivers are divided into two parts: BUS and DEVICE drivers ). The role of the bus driver is to add corresponding read/write methods for each I2C bus in the system. However, the bus driver does not communicate with each other. It only exists
The I2C architecture consists of three components:
(1) I2C Core
(2) I2C bus driver
(3) I2C Device Driver
I2C core: Provides the registration and cancellation methods for I2C bus drivers and device drivers, the upper layer of the
I was writing a driver some time ago. It is an I2C bus device. so here we will briefly talk about some simple experiences about I2C device drivers. I believe there are many such articles on the Internet. let me add some bricks.
Start to get started.
I will not introduce the I2C protocol here. It is a half-duplex serial line with two wires, SDA-data line, and SCL-
Next to the introduction of the main I2C data structure in the previous blog post, let's go into the I2C driver code to get a glimpse of this slightly complicated driver. Since the Code already has a certain length, you can no longer copy the entire segment as before, and then analyze it directly. In order for the monks to better read their notes in the future, and for the cainiao who are more comfortable w
When debugging an I2C touch screen driver, its I2C address is 0X01, finally found in \ linux-3.0 \ drivers \ i2c \ i2c-core.c has detected I2C address available is the following function:/* And this is a strict address validity check, used when probing. if a * device uses a
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.