![]() |
|
Tài trợ cho PIC Vietnam |
Giao tiếp USB, CAN, I2C, SPI, USART... Những giao tiếp được tích hợp trên PIC |
![]() |
|
Ðiều Chỉnh | Xếp Bài |
![]() |
#1 |
Đệ tử 1 túi
Tham gia ngày: Jun 2011
Bài gửi: 14
: |
![]() 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 đỡ!!! |
![]() |
![]() |
![]() |
#2 | |
Đệ tử 3 túi
Tham gia ngày: May 2011
Bài gửi: 47
: |
Trích:
Để 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ề. |
|
![]() |
![]() |
![]() |
#3 | |
Đệ tử 1 túi
Tham gia ngày: Jun 2011
Bài gửi: 14
: |
Trích:
|
|
![]() |
![]() |
![]() |
#4 | |
Đệ tử 3 túi
Tham gia ngày: May 2011
Bài gửi: 47
: |
Trích:
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); }; } |
|
![]() |
![]() |
![]() |
#5 |
Đệ tử 1 túi
Tham gia ngày: Dec 2008
Bài gửi: 18
: |
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? |
![]() |
![]() |
![]() |
#6 |
Đệ tử 1 túi
Tham gia ngày: Dec 2008
Bài gửi: 18
: |
??????????
|
![]() |
![]() |
![]() |
#7 |
Đệ tử 1 túi
Tham gia ngày: Dec 2008
Bài gửi: 18
: |
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? |
![]() |
![]() |
![]() |
#8 |
Đệ tử 1 túi
Tham gia ngày: Dec 2008
Bài gửi: 18
: |
ko ai trả lời vậy?
|
![]() |
![]() |
![]() |
#9 |
Đệ tử 1 túi
Tham gia ngày: Dec 2008
Bài gửi: 18
: |
??????????????????????????????
|
![]() |
![]() |
![]() |
|
|