retrying spi on frdm (with interrupts)

Dependencies:   mbed

main.cpp

Committer:
armdran
Date:
2015-04-07
Revision:
0:c7c985b76b04
Child:
1:2ba1eb5da872

File content as of revision 0:c7c985b76b04:

#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) { }
}