V1.0 of SPI Master Example for Serial Communications Workshop
Dependencies: mbed tsi_sensor
main.cpp@0:c48a4735d25f, 2015-03-06 (annotated)
- Committer:
- MoffMade
- Date:
- Fri Mar 06 22:00:20 2015 +0000
- Revision:
- 0:c48a4735d25f
V1.0 of SPI Master Example for Serial Communications Workshop
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
MoffMade | 0:c48a4735d25f | 1 | #include "mbed.h" |
MoffMade | 0:c48a4735d25f | 2 | #include "tsi_sensor.h" |
MoffMade | 0:c48a4735d25f | 3 | #define ELEC0 9 // Pin connections for touch sensor |
MoffMade | 0:c48a4735d25f | 4 | #define ELEC1 10 |
MoffMade | 0:c48a4735d25f | 5 | |
MoffMade | 0:c48a4735d25f | 6 | SPI spi(PTD2, PTD3, PTD1); // mosi, miso, sclk |
MoffMade | 0:c48a4735d25f | 7 | DigitalOut cs(PTD0); |
MoffMade | 0:c48a4735d25f | 8 | TSIAnalogSlider tsi(ELEC0, ELEC1, 40); |
MoffMade | 0:c48a4735d25f | 9 | Serial pc(USBTX, USBRX); // Configure PC UART |
MoffMade | 0:c48a4735d25f | 10 | |
MoffMade | 0:c48a4735d25f | 11 | int main() { |
MoffMade | 0:c48a4735d25f | 12 | |
MoffMade | 0:c48a4735d25f | 13 | // Configure PC/Serial Connection |
MoffMade | 0:c48a4735d25f | 14 | pc.baud(9600); |
MoffMade | 0:c48a4735d25f | 15 | char slidervalue = 0; |
MoffMade | 0:c48a4735d25f | 16 | char responsevalue = 0; |
MoffMade | 0:c48a4735d25f | 17 | // Chip must be deselected |
MoffMade | 0:c48a4735d25f | 18 | cs = 1; |
MoffMade | 0:c48a4735d25f | 19 | // Setup the spi for 8 bit data, high steady state clock, |
MoffMade | 0:c48a4735d25f | 20 | // second edge capture, with a 1MHz clock rate |
MoffMade | 0:c48a4735d25f | 21 | spi.format(8,3); |
MoffMade | 0:c48a4735d25f | 22 | spi.frequency(1000000); |
MoffMade | 0:c48a4735d25f | 23 | |
MoffMade | 0:c48a4735d25f | 24 | while(true) { |
MoffMade | 0:c48a4735d25f | 25 | slidervalue = (char)(254 * tsi.readPercentage() + 1); // Get value from Cap. Touch |
MoffMade | 0:c48a4735d25f | 26 | cs = 0; // Select the device by seting chip select low |
MoffMade | 0:c48a4735d25f | 27 | spi.write(slidervalue); // Send slider percentage in a single byte |
MoffMade | 0:c48a4735d25f | 28 | responsevalue = spi.write(0x00); // Send slider percentage in a single byte |
MoffMade | 0:c48a4735d25f | 29 | pc.printf("LED Adjusted to = 0x%X\n\r", responsevalue); // Print to PC/Serial |
MoffMade | 0:c48a4735d25f | 30 | // Deselect the device |
MoffMade | 0:c48a4735d25f | 31 | cs = 1; |
MoffMade | 0:c48a4735d25f | 32 | } |
MoffMade | 0:c48a4735d25f | 33 | } |