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
Conferences
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

Accessing the bus directly


Now, as for a USB bus, we should take a look at how we can get direct access to the I2C bus. In the same manner, as for USB devices, if one of them doesn't have a dedicated driver, they can be managed directly from the user space. The only problem that may arise is if the I2C device generates interrupts; in this case, we cannot manage these signals from the user-space and a kernel driver must be used. However, this is a rare case and the presented technique can be used in most cases.

For example, we're going to manage the DAC chip named TC1321. If we take a look at the chip's datasheet, we can see that its functioning is very simple: it has one 16-bit register at offset 0x00, where we can write the digital data to be converted.

Tip

The datasheet is available at the URL http://ww1.microchip.com/downloads/en/DeviceDoc/21387C.pdf.

The register has the following format:

Data register = first byte

Data register = second byte

D9

D8

D7

D6

D5

D4

D3

D2

D1

D0

-

...
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