Search icon CANCEL
Subscription
0
Cart icon
Cart
Close icon
You have no products in your basket yet
Save more on your purchases!
Savings automatically calculated. No voucher code required
Arrow left icon
All Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletters
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Programming the BeagleBone

You're reading from  Programming the BeagleBone

Product type Book
Published in Jan 2016
Publisher
ISBN-13 9781784390013
Pages 180 pages
Edition 1st Edition
Languages

Table of Contents (21) Chapters

Programming the BeagleBone
Credits
About the Author
Acknowledgment
About the Reviewers
www.PacktPub.com
Preface
1. Cloud9 IDE 2. Blinking Onboard LEDs 3. Blinking External LEDs 4. Controlling LED Using a Push Button 5. Reading from Analog Sensors 6. PWM – Writing Analog Information 7. Internet of Things with BeagleBone 8. Physical Computing in Python 9. UART, I2C, and SPI Programming 10. Internet of Things using Python GPIO Control in Bash BeagleBone Capes
Pinmux and the Device Tree Index

What is Pinmux?


Different embedded projects deal with different components. Some embedded projects conduct communication with analog sensors. Some projects apply the ON/OFF logic on LEDs/buttons. Some interface with devices on I2C / SPI / UART. These different components have different types of voltage, current, and protocol requirement. We cannot attach an I2C device to a pin that follows the protocol of the SPI bus. Also, we cannot attach an analog sensor to the GPIO pin. This means that we need to have all these types of pins available on the board so that we can do any embedded project. Some embedded projects need interfacing multiple such interfaces. This increases the need of pins available in the CPU. It is not possible to have that many CPU pins. Therefore, there is a need to share the functionalities of available pins. This functionality that shares multiple pins is called Pinmux. Each pin has a set of different modes that support connecting corresponding components. Correct mode for the attached component has to be selected by the user. These pins support multiple voltage and current levels. Voltage and current level of pin can be changed according to the mode selection. BeagleBone SRM lists the possible pin mux modes in the Expansion header pinout tables.

The BeagleBone pins can have maximum eight different modes.

You can see currently configured pin mode using this command:

sudo cat /sys/kernel/debug/pinctrl/44e10800.pinmux/pinmux-pins

You can use utility config-pin to change mode of any pin. Run the following command to get information about this utility:

sudo config-pin
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 $15.99/month. Cancel anytime}