PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   Giao tiếp USB, CAN, I2C, SPI, USART... (http://www.picvietnam.com/forum/forumdisplay.php?f=45)
-   -   [Giúp] giao tiếp SPI giửa 2 Pic 16f877A (http://www.picvietnam.com/forum/showthread.php?t=16047)

lambaotrung 25-04-2012 11:41 PM

[Giúp] giao tiếp SPI giửa 2 Pic 16f877A
 
chào các bạn, các anh chị, các bậc tiền bối đi trước, E hôm này có vấn đề này muồn hỏi các bác.

Hiện em em đang làm bài tập về giao tiếp SPI, mọi người nói là nó rất dể, nhưng sao khi em biết xong chương trình và đưa nó vào thì nó ko chạy, mong các quy lão tiên sinh xem giúp em. và sữa sai giúp. Thân.



code:
//---------------------------------- Strar --------------------------//

int8 data=0;
Void Main()
{

Setup_spi(spi_master|spi_l_to_h|spi_clk_div_16);

while(true)
{
spi_write(data);
data++;
delay_ms(1000);

if(data>9) data=0;


}


}



//----------------------- END ----------------------//


Slave:

//-------------------------------- Star ---------------------------//

int8 data_in;
#int_ssp
void SPI()
{
data _in=spi_read();
delay_us(100);
}


void main()
{

setup_spi(spi_slave|spi_l_to_h|spi_clk_div_16);
enable_interrupts(int_ssp);
enable_interrupts(global);

lcd_init();

while(true)
{
lcd_putcmd(0x80);

printf(lcd_putchar," Value: %U",data_in);
delay_us(500);
}

}

//----------------------- END ------------------//


kết nối chân giửa 2 PIC

RC3 SLK
RC4 SDI
RC5 SDO

Master-------------------Slave
RC3----------------------RC3
RC4----------------------RC5
RC5----------------------RC4


em làm như vậy ko biết có sai chổ nào ko mong các anh Giúp em. Thân.

eman 19-05-2012 03:09 PM

Giao tiếp SPI em dùng 3 chân nên con slave phải setup thế này:

setup_spi(spi_slave|spi_l_to_h|spi_clk_div_16| SPI_SS_DISABLED);


Múi giờ GMT. Hiện tại là 03:15 AM.

Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam