سلام
من برنامه زیاد نوشتم ولی این اولین مرتبه است که با spi کار میکنم.میخواستم دوستان یه نگاهی به این برنامه ساده بکنن و بگن مشکلش کجاست؟ خیلی ممنون :redface:
برای MASTER
#include <mega32.h>
#include <delay.h>
#include <spi.h>
void init (void);
void main (void)
{
unsigned char data_in,data_out;
init();
while(1)
{
data_out=PINA;
data_in=spi(data_out);
PORTD=data_in;
delay_ms(10);
}
}
void init (void)
{
DDRA=0x00,PORTA=0xff;
DDRD=0xff,PORTD=0x00;
DDRB=0b10110000,PORTB=0;
SPCR=0x71;
}
و برای SLAVE:
#include <mega32.h>
#include <spi.h>
void init (void);
void main (void)
{
unsigned char data_in,data_out;
init();
while(1)
{
data_out=PINA;
data_in=spi(data_out);
PORTD=data_in;
}
}
void init (void)
{
DDRA=0x00,PORTA=0xff;
DDRD=0xff,PORTD=0x00;
DDRB=0x40;
SPCR=0x61;
}
من برنامه زیاد نوشتم ولی این اولین مرتبه است که با spi کار میکنم.میخواستم دوستان یه نگاهی به این برنامه ساده بکنن و بگن مشکلش کجاست؟ خیلی ممنون :redface:
برای MASTER
#include <mega32.h>
#include <delay.h>
#include <spi.h>
void init (void);
void main (void)
{
unsigned char data_in,data_out;
init();
while(1)
{
data_out=PINA;
data_in=spi(data_out);
PORTD=data_in;
delay_ms(10);
}
}
void init (void)
{
DDRA=0x00,PORTA=0xff;
DDRD=0xff,PORTD=0x00;
DDRB=0b10110000,PORTB=0;
SPCR=0x71;
}
و برای SLAVE:
#include <mega32.h>
#include <spi.h>
void init (void);
void main (void)
{
unsigned char data_in,data_out;
init();
while(1)
{
data_out=PINA;
data_in=spi(data_out);
PORTD=data_in;
}
}
void init (void)
{
DDRA=0x00,PORTA=0xff;
DDRD=0xff,PORTD=0x00;
DDRB=0x40;
SPCR=0x61;
}
دیدگاه