Subversion Repositories Projects

Compare Revisions

Ignore whitespace Rev 761 → Rev 760

/C-OSD/trunk/spi.c
50,16 → 50,17
//sei(); // we do it later
}
 
 
/**
* SPI interrupt handler
*/
ISR(SPI_STC_vect) {
if (request_count == 0) {
SPI_buffer.buffer.chk = SPDR; // firs char received is check byte from last transfer
} else {
SPI_buffer.buffer.c[request_count - 1] = SPDR; // safe received byte to buffer
}
request_count++;
if (request_count == 0) {
SPI_buffer.buffer.chk = SPDR; // firs char received is check byte from last transfer
} else {
SPI_buffer.buffer.c[request_count - 1] = SPDR; // safe received byte to buffer
}
request_count++;
if (--icnt) {
//SPDR = *iptr; // send next byte
spi_ready = 1; // we _should_ send later because the slave needs more time
82,14 → 83,14
void StartTransfer(uint16_t len) {
INT0_LOW // /SS LOW ^= SS HIGH ^= slave should listen
 
// this is a new request
request_count = 0;
// this is a new request
request_count = 0;
 
// set up pointer and length for interrupt handler
icnt = len;
 
SPCR |= _BV(SPIE); // enable spi interrupt
SPDR = 'A'; // start transfer by first command char
SPDR = 'A'; // start transfer by first command char
}
 
/**
96,7 → 97,7
* send next command through spi
*/
void spi_send_next() {
SPDR = 'A' + request_count;
SPDR = 'A' + request_count;
}
 
#endif