PDA

View Full Version : Mong mọi người chỉ giáo về SPI


halinh12sinh
24-07-2011, 05:17 PM
thưa mọi người,em đang tập thành học về giao tiếp SPI trên pic 16f877a. em đang thử mô phỏng giao tiếp giữa hai PIC 16f877a với nhau.mục đích là: gạt các công tắc ở Port B của con pic này,nó sẽ bật sáng các led tương ứng ở port D của con pic kia.em đã làm được việc là:gạt các công tắc ở con master thì con slave bật đúng các đèn tương ứng.nhưng làm ngược lại,bật slave,port D của con master không có phản ứng gì.
Em đang vướng,không biết viết code để con slave gửi dữ liệu như thế nào? và con master làm sao phát hiện ra dữ liệu đã gữi đến slave thành công,và dữ liệu tù slave truyền về đã có trong thanh SSPBUF.( em đang viết code bằng CCS,em có gửi kèm file mô phỏng,code truyền từ master sang slave).
Mong mọi ngườ giúp đỡ!!!

lionking
25-07-2011, 10:26 PM
thưa mọi người,em đang tập thành học về giao tiếp SPI trên pic 16f877a. em đang thử mô phỏng giao tiếp giữa hai PIC 16f877a với nhau.mục đích là: gạt các công tắc ở Port B của con pic này,nó sẽ bật sáng các led tương ứng ở port D của con pic kia.em đã làm được việc là:gạt các công tắc ở con master thì con slave bật đúng các đèn tương ứng.nhưng làm ngược lại,bật slave,port D của con master không có phản ứng gì.
Em đang vướng,không biết viết code để con slave gửi dữ liệu như thế nào? và con master làm sao phát hiện ra dữ liệu đã gữi đến slave thành công,và dữ liệu tù slave truyền về đã có trong thanh SSPBUF.( em đang viết code bằng CCS,em có gửi kèm file mô phỏng,code truyền từ master sang slave).
Mong mọi ngườ giúp đỡ!!!

bạn chưa hiểu hết về giao tiếp spi rồi. 2 con pic giao tiếp theo đường spi thì chúng có chung 1 đường clock do con master phát ra.
Để con master đọc đc dữ liệu từ con slave thì con slave đưa dữ liệu vào SSPBUF, sau đó con master kích 8 xung clock rồi đọc dữ liệu từ thanh SSPBUF về.

halinh12sinh
26-07-2011, 12:44 AM
bạn chưa hiểu hết về giao tiếp spi rồi. 2 con pic giao tiếp theo đường spi thì chúng có chung 1 đường clock do con master phát ra.
Để con master đọc đc dữ liệu từ con slave thì con slave đưa dữ liệu vào SSPBUF, sau đó con master kích 8 xung clock rồi đọc dữ liệu từ thanh SSPBUF về.

bạn có thể cho mình 1 đoạn code mẫu viết trên CCS minh họa master đọc data từ slave được không?cảm ơn bạn nhìu!!!

lionking
26-07-2011, 01:04 AM
bạn có thể cho mình 1 đoạn code mẫu viết trên CCS minh họa master đọc data từ slave được không?cảm ơn bạn nhìu!!!

đơn giản là thế này ví dụ nhé.

master:

int8 data ;

spi_write(0xff);
delay_ms(10);
data = spi(0xff);

PORTD = data;


//----------------------------

slave:

#INT_SSP
void spi()
{

data=spi_read();
if(data = 0xff)
{
data_send = PORTB;
spi_write(data_send);
};


}

th0001
15-09-2011, 07:18 PM
spi_write(0xff) để lam gì vậy hả bac?
bác có thề giải thích rõ lệnh spi_read(data) được không?.Có lúc có data có lúc không có là sao hả bác?

th0001
17-09-2011, 02:46 PM
??????????

th0001
18-09-2011, 10:20 AM
spi_write(0xff) để lam gì vậy hả bac?
bác có thề giải thích rõ lệnh spi_read(data) được không?.Có lúc có data có lúc không có là sao hả bác?

th0001
20-09-2011, 06:06 PM
ko ai trả lời vậy?

th0001
30-11-2011, 05:10 PM
??????????????????????????????