So i'm trying to get my atmega324p (both atmel parts) and ata5811 transceiver to work and begin trasmission for my school project. I can't seem to get the two to work... i was wondering if anyone could give me any insight as to whats wrong with my setup or code. Basically i have wired over the ATA5811 via SPI to the Microcontroller... and i have PORTA going to 8 LED's to display over to me what... numbers are being passed around so... here is my code. void SPI_init(void){ DDRB = ((1<<DDB4)|(1<<DDB5)|(0<<DDB6)|(1<<DDB7)); //spi pins on port b MOSI,SCK,SS outputs, MISO input SPCR = ((1<<SPE)|(1<<MSTR)/*|(1<<SPR0)*/|(1<<CPOL)|(1<<CPHA)|(0<<DORD)); // SPI enable, Master, f/16 } char SPI_Transmit(char cData){ SPDR = cData; while(!(SPSR & (1<<SPIF))) ; return SPDR; } void main() { DDRA=0xFF; //All A port pins as output PORTA=~0; DDRC=0xFF; //All C port pins as output SPI_init(); while(1) { PORTC=~1; PORTC=~0; SPI_Transmit(96); //h=SPDR; SPI_Transmit(194); SPI_Transmit(72); SPI_Transmit(72); a=SPDR; PORTA=~a; for (n=1; n<5; n++) _delay_loop_2(20000); and i didn't finish the closed brackets. anyways the problem is... no matter what i put for the SPI_Transmit command 2 commands before a = SPDR, i just get an echo of the command out on the LEDs... so in this case, i get 72... so... and the data sheet says if i send a read command of a control register i should get back the... settings on that register... which isn't the same as the command i sent to read it. (for write commands however, you are supposed to just get echoes of your commands so you can verify that your command made it to the ata5811 i guess) so my question is why can't i get the read command to send me the settings on the registers instead of... just an echo of the read command i sent in... which is useless to me. Thanks in advance for you guys' help. Chris
Please log in before posting. Registration is free and takes only a minute.
Existing account
Do you have a Google/GoogleMail account? No registration required!
Log in with Google account
Log in with Google account
No account? Register here.