Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <avr/io.h>
- #include <util/delay.h>
- void spi_init_master(void)
- {
- DDRB=0xA0;
- SPCR=(1<<SPE)|(1<<MSTR)|(1<<SPR0);
- }
- unsigned char spi_transmitrecieve(unsigned char data1)
- {
- SPDR= data1;
- while(!(SPSR &(1<<SPIF)));
- return(SPDR);
- }
- int main(void)
- {
- spi_init_master();
- DDRC=0xFF;
- PORTC=0;
- //PORTB|=(1<<PINB4);
- DDRA=0xFF;
- unsigned char i;
- unsigned char k1;
- while(1)
- {
- for(i=0;i<10;i++)
- {
- PORTA=0xFF;
- if((i%2)==0)
- {
- PORTA &=~(1<<PA2); //turning on slave 2
- k1=spi_transmitrecieve(i);
- PORTC= k1;
- _delay_ms(500);
- PORTA |=(1<< PA2); // turning off slave 2
- }
- else
- {
- PORTA &=~(1<<PA1);// turning on slave 1
- k1=spi_transmitrecieve(i);
- PORTC= k1;
- _delay_ms(500);
- PORTA |=(1<<PA1); // turning off slave 1
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement