debugging of spi. status: master no longer freezes, still no response from slave via usb

master
Paul Goeser 15 years ago
parent 7881bd39a2
commit f00c4e24e1

@ -27,6 +27,8 @@ flash: all
fuses: fuses:
avrdude -c usbasp -p m88 -U lfuse:w:0xdf:m -U hfuse:w:0xde:m # external oscillator avrdude -c usbasp -p m88 -U lfuse:w:0xdf:m -U hfuse:w:0xde:m # external oscillator
reset:
avrdude -c usbasp -p m88
## what are the source dependencies ## what are the source dependencies
%.d: %.c %.d: %.c

@ -61,6 +61,13 @@ int __attribute__((noreturn)) main(void) {
softinit(); softinit();
usbInit(); usbInit();
//hard-reset usb for debugging ease #TODO:remove
cli();
usbDeviceDisconnect();
_delay_us(100);
usbDeviceConnect();
sei();
for(;;){ for(;;){
usbPoll(); usbPoll();

@ -1,5 +1,5 @@
#define SPI_BAUDRATE 1000000 #define SPI_BAUDRATE 10000
#define SPI_MASTER #define SPI_MASTER
#define SPI_SS_PORT D #define SPI_SS_PORT D
#define SPI_SS_PIN 7 #define SPI_SS_PIN 7

@ -37,7 +37,7 @@ void spi_init(){
*/ */
#define D_VAL (F_CPU / SPI_BAUDRATE) #define D_VAL (F_CPU / SPI_BAUDRATE)
#if ((D_VAL >> 8) > 0 ) #if ((D_VAL >> 8) > 0 )
#warning "spi baudrate too slow, cannot be set" #warning "spi baudrate too slow, cannot be set (clamped to minimum)"
#endif #endif
d = spi_clock_divisor(); d = spi_clock_divisor();
@ -86,7 +86,7 @@ void spi_mst_end_packet(){
#endif #endif
} }
#define SPI_WAIT while(SPSR & _BV(SPIF)){;} #define SPI_WAIT while(!(SPSR & _BV(SPIF))){;}
void spi_mst_write(uint8_t len, uint8_t *data){ void spi_mst_write(uint8_t len, uint8_t *data){
while(len>0){ while(len>0){

Loading…
Cancel
Save