Linux under a lot of devices are used to the I2C, so look at the driver of the I2C, although now understanding may still be human and material resources, but at least there are some basic concepts
Reference:
http://blog.csdn.net/ylyuanlu/article/details/6705942
http://blog.csdn.net/hongjiujing/article/details/4098547
Look at the I2C initialization process:
[CP
Https://www.cnblogs.com/aaronLinux/p/6896573.html
Note: If you set the I2c_slave, the prompt device_busy, you can use the I2c_slave_force, in the driver which corresponds to the same Case statement application layer can call the interface: I2c_smbus_write_ Word_data (FD, __, __); and I2c_smbus_read_word_data (fd,__);
Share : https://stackoverflow.com/questions/9974592/i2c-slave-ioctl-purpose
The questions are as follows :
1. The direct FD handle in
Demand:Read the value of the embedded temperature sensor.
Known conditions:* The temperature sensor has been welded on the motherboard.* Temperature Sensor Model LM75*linux Drive, in linux-2.6.20.21/drivers/hwmon/lm75.c* The circuit of the temperature sensor
Questions and Answers:*linux How to use the drive with its own.
Look at the LM75.C code and find out that this temperature sensor is using a I2C bus.The code sees the
I2C has never been touched before, so its simulation function can only rely on the feeling, there is something wrong, still hope that the House correct. With the SPI-related simulation function, it is not difficult to do I2C, but it is a little troublesome for users to read and write data through the I2C bus.Test program running interface: the
========================================================== ====Author: yuanlulu
Http://blog.csdn.net/yuanlulu
No copyright, but please keep this statement for reprinting========================================================== ====
For more information about how to create i2c_client, see http://blog.csdn.net/yuanlulu/archive/2011/06/21/6557901.aspx.
2.6.34 I2C sub-systems no longer distinguish between legacy model and standard drivermodel drivers.
An in-depth understanding of I2C bus clock synchronization and bus arbitration
Each IIC bus device has the same circuit structure of the SDA and SCL pins, and the output drive of the pins is connected with the input buffer. The output is a field effect tube with an open drain path, and the input buffer is a high-input impedance phase generator [1]. This type of circuit has two features:
① Because SDA and SCL are Drain open circuit structures, the "lin
How to enable I2C device http://www.cnblogs.com/hangxin1940/archive/2013/04/02/2997077.html and build a python I2C Development Environment http://www.cnblogs.com/hangxin1940/archive/2013/04/03/2997094.html
Quick2wire is a python library used for I2C communication on Raspberry Pi. It allows non-root users to read and write gpio pins conveniently.
Why use it?
Some
Driver I2C problems-general Linux technology-Linux technology and application information, the following is a detailed description. I recently learned the i2c device driver. When registering the driver, I need to match the registered device. If the matching succeeds, I will jump to the probe function defined by the driver;
Later, I checked that i2c devices put t
Temperature Sensor + I2C + Serial Port + PC (pyserial) Example
The example is a bit messy, mainly for learning:
Temperature sensor DS18B20, E2PROM, I2C, serial port read/write, PC (pyserial) Data Display
SerialPort. py PC serial host program, you can set the maximum alarm temperature
You need to install python3 or above and the pyserial library. The example is written in python3.4.
After the upper
SMBus is a two-wire serial bus. Its first specification was commercially available in 1996. It is mostly based on I2C bus specifications. Like I2C, SMBus does not require additional pins. It is created to add new features, but only works at kHz and is dedicated to smart battery management applications. It works in Master/Slave Mode: the master device provides a clock, provides a start bit when it initiates
the program ......Compared with the 51 program, most of them are the same. Here I will mainly explain the differences between the two.It can only be counted as a platform transplant ....The source program will be appendedReading and Writing SDA and SCLIn fact, the implementation of IIC Bus Protocol is to control the two lines so that data can be transmitted at the specified time.Among them, the most important thing is the write operation on the SCL and the reading and writing of the SDA.The fol
voltage is the local voltage ), the high level indicates 1 (the voltage is determined by the VDD of the component ). The SDA level can be changed only when the SCL line is low.5. Response Signal ACKThe I2C bus data is transmitted in bytes (8 bits). After each byte is sent, the device releases the data bus during the 9th pulses of the clock, the receiver sends an ACK (which lowers the power of the Data Bus) to indicate that the data is successfully re
/********************************************************************** * Linux tmp75/dev/i2c-* get Data demo * Description: * Previous attempts to read the EEPROM in this way, the result failed, and did not find the reason, * today, the problem is fixed due to i2c_slave, I2c_slave_force caused by the previous attempt * i2c_slave, today to locate the problem is the I²C bus Busy, change to use I2c_slave_force to solve. * There is the test procedure, un
During the data transmission of I2C bus, the master controller and the beam controller work in two opposite states and do not change during one communication;1. When the main controller is a transmitter (main control transmitter), the Controller is a receiver (controlled receiver );2. When the main controller is a receiver (the main controller is a dazzling receiver), the Controller is a transmitter (the controlled TRANSMITTER ).The figure below shows
Addressing of Bus
(1) Definition of addressing byte
I2C bus uses 7-bit addressing bytes, which are the first byte after the starting signal.
D7 ~ The address of the slave machine composed of D1 bits. D0 is the data transmission direction. If it is set to "0", it indicates that the host writes data to the slave database. If it is set to "1", it indicates that the Host reads data from the slave database.
(2) AddressingWhen the host sends the addre
The driver is suitable for all Ferroelectric series I2C Fram, only the capacity, level (3V and 5V), the driver is for 51MCU, but only slightly modified for other MCU can be used.
When the amount of storage data is small and the frequency of reading and writing is frequent, I2C FRAM can be selected.
This CODE is designed to demonstrate how the fm24c04/fm24c04a serial FRAM couldBe interfaced to the 8051 micro
At present, most IO analog I2c bus programs on the Internet are query methods, which wastes a lot of CPU cycles for cyclic waiting. The program in this article uses the timer interrupt to push the state machine to simulate I2C bus operations,
The method of interruption is used. Please define the callback function. This program will automatically call the callback function when reading or writing is complete
During an I2C transfer there is often the need to first send a command and then read back an answer right away. this has to be done without the risk of another (multimaster) device interrupting this atomic operation. the I2C Protocol defines a so-called repeated start condition. after having sent the address byte (address and read/write bit) the master may send any number of bytes followed by a stop conditi
My philosophy: simple and practical. Don't get a bunch of source code. The result is that people don't know how to use it after reading it. view me:
1. Add I2C information to the ARCH/ARM/Mach-xxx/platform file, which is named i2c_board_info.
For example:
Static struct i2c_board_info _ initdata xxxi2c_board_info [] = {{I2c_board_info ("ABCD1", 0x20),/* string to match with the following, 0x20 is from the device address */. Platform_data = 0,},{I2c_bo
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.