retrying spi on frdm (with interrupts)
Dependencies: mbed
Diff: main.cpp
- Revision:
- 0:c7c985b76b04
- Child:
- 1:2ba1eb5da872
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Tue Apr 07 12:23:55 2015 +0000 @@ -0,0 +1,33 @@ +#include "mbed.h" + +//SPI Master + +Serial pc(USBTX, USBRX); +SPI spi(D11, D12, D13); // mosi, miso, sclk +DigitalOut cs(D10); +InterruptIn ir(D9); + +uint8_t spi_write(uint8_t write = 0xFF) { + cs = 0; + uint8_t response = spi.write(write); + cs = 1; + return response; +} + +void keyboardEvent() { + printf("ir received\r\n"); + + spi_write(0xFE); + uint8_t keystroke = spi_write(); + spi_write(keystroke); + + printf("done. received key %x via intterupt.\r\n", keystroke); +} + +int main() { + printf("init\r\n"); + spi.format(8,1); + spi.frequency(1000000); + ir.rise(&keyboardEvent); + while(1) { } +}