سلام به همگی
کسی می دونه چطور میشه یه تابع برای 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]
دیدگاه