This is a C-language tutorial for the 8-core Propeller microcontroller. It features the Propeller Activity Board but other Propeller development boards will work.
What it's about
Many projects utilize devices that communicate with microcontrollers using a protocol. Some examples of common communication protocols are: half- and full-duplex serial, inter-integrated circuit (I2C), and serial peripheral interface (SPI). In many cases, you'll use a library to talk with a device, and that library in turn includes a protocol library to perform the actual communication. An example of this is the HMC5883L compass. The library uses the simpletools i2c_in and i2c_out functions to communicate with the device, and the functions you call at the application level simply supply the measured number of degrees from magnetic north.
Instead of using pre-written libraries for devices, this tutorial series' activities demonstrate how to communicate with devices, starting with the protocol information that comes in the product documents and/or datasheets. These activities can be good practice for when you find a device you want to use that doesn't already have a pre-written library, and also for wrapping the communication layer into a Simple Library.
Before you start
If you have no experience with C programming or have not completed the Simple Devices tutorial series, we advise completing all of the following steps before beginning Simple Protocols:
- Set up the SimpleIDE software and your Propeller board
- Update your Learn Libraries
- Try Propeller C - Start Simple if you are new to the Propeller microcontroller and/or C programming.
- Move on to Propeller C - Simple Circuits and Propeller C - Simple Devices,
- Optionally, try Propeller C - Functions.
After you finish
- Once you are done here you will have a better understanding of what kinds of devices use which type of communication, as well as having gained hands-on experience with using some common C protocol libraries.
This collection of activities is currently a work-in-progress. Check back periodically to see more examples.
- SPI with the MMA7455-3-Axis-Accelerometer
- I2C with the HM55B Compass