Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Beaglebone Essentials

You're reading from   Beaglebone Essentials Harness the power of the BeagleBone Black to manage external environments using C, Bash, and Python/PHP programming

Arrow left icon
Product type Paperback
Published in May 2015
Publisher
ISBN-13 9781784393526
Length 240 pages
Edition 1st Edition
Arrow right icon
Author (1):
Arrow left icon
Rodolfo Giometti Rodolfo Giometti
Author Profile Icon Rodolfo Giometti
Rodolfo Giometti
Arrow right icon
View More author details
Toc

Table of Contents (13) Chapters Close

Preface 1. Installing the Developing System 2. Managing the System Console FREE CHAPTER 3. Compiling versus Cross-compiling 4. Quick Programming with Scripts 5. Device Drivers 6. Serial Ports and TTY Devices 7. Universal Serial Bus – USB 8. Inter-integrated Circuit – I2C 9. Serial Peripheral Interface – SPI 10. 1-Wire Bus – W1 11. Useful System Daemons Index

The I2C bus in Linux


Each I2C device has a well-defined 7 bit address that the master must use in order to communicate with a device. This address is not assigned at runtime and, as for the USB devices, it's assigned by the board designer by setting chip's pins.

Tip

Typically, the chip manufacturer sets the most significant 3 or 4 bits, and the board designer can set the remaining bits in order to suit his/her needs.

Another thing to be outlined regarding the I2C bus is that for each message, the master must specify whether the message wants to read or write data from the slave. This special action is done by adding a final bit (the least significant bit) to the slave address, and the master uses 0 to write data and 1 to read data from the slave.

As for the USB bus, we still have two main actors: master and slave. So, in the kernel, we will find both the device driver types.

Regarding the I2C master device, there is nothing special to do here since the proper driver is already up and running...

lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime
Banner background image