سلام به همگی
کسی می دونه چطور میشه یه تابع برای SPI بنویسم که عمل خوندن و نوشتن رو انجام بده ؟ من از این تابع آماده در میکروسی استفاده کردم و جواب گرفتم حالا میخوام تابع spi رو خودم بنویسم و همون جواب رو بگیرم اینم کدها ی برنامه "
در ضمن از 16f877 استفاده میکنم
کسی می دونه چطور میشه یه تابع برای SPI بنویسم که عمل خوندن و نوشتن رو انجام بده ؟ من از این تابع آماده در میکروسی استفاده کردم و جواب گرفتم حالا میخوام تابع spi رو خودم بنویسم و همون جواب رو بگیرم اینم کدها ی برنامه "
کد:
[left]char *text = "mikroElektronika";
unsigned short x=110;
unsigned short take, buffer;
char txt[6];
void main() {
trisd.f1=0;
portd.f1=1;
TRISB = 0; // PORTB is output
Lcd_Init(&PORTB); // Initialize LCD connected to PORTB
Lcd_Cmd(Lcd_CLEAR); // Clear display
Lcd_Cmd(Lcd_CURSOR_OFF); // Turn cursor off
Lcd_Out(1, 1, text); // Print text to LCD, 2nd row, 1st column
// Spi_Init_Advanced(MASTER_OSC_DIV64,DATA_SAMPLE_End,CLK_IDLE_HIGH , HIGH_2_LOW) ;
while(1){
portd.f1=0;
spi_write(6);
portd.f1=1;
portd.f1=0;
Spi_Write(2);
Spi_Write(0);
spi_write(1);
Spi_Write(x);
portd.f1=1;
delay_ms(3);
portd.f1=0;
Spi_Write(3);
Spi_Write(0);
spi_write(1);
take = Spi_Read(buffer);
portd.f1=1;
WordToStr(take, txt);
Lcd_Out(2, 1, txt);
delay_ms(1000);
Lcd_Cmd(Lcd_CLEAR);
}
}//~![/left]




دیدگاه