PIC Vietnam

Go Back   PIC Vietnam > Truyền thông > Giao tiếp USB, CAN, I2C, SPI, USART...

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Bài Trong Ngày Vi điều khiển

Giao tiếp USB, CAN, I2C, SPI, USART... Những giao tiếp được tích hợp trên PIC

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 24-07-2011, 05:17 PM   #1
halinh12sinh
Đệ tử 1 túi
 
Tham gia ngày: Jun 2011
Bài gửi: 14
:
Smile Mong mọi người chỉ giáo về SPI

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 đỡ!!!
File Kèm Theo
File Type: rar spi.rar (16.7 KB, 124 lần tải)
halinh12sinh vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 25-07-2011, 10:26 PM   #2
lionking
Đệ tử 3 túi
 
lionking's Avatar
 
Tham gia ngày: May 2011
Bài gửi: 47
:
Trích:
Nguyên văn bởi halinh12sinh View Post
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ề.
lionking vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 26-07-2011, 12:44 AM   #3
halinh12sinh
Đệ tử 1 túi
 
Tham gia ngày: Jun 2011
Bài gửi: 14
:
Trích:
Nguyên văn bởi lionking View Post
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!!!
halinh12sinh vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 26-07-2011, 01:04 AM   #4
lionking
Đệ tử 3 túi
 
lionking's Avatar
 
Tham gia ngày: May 2011
Bài gửi: 47
:
Trích:
Nguyên văn bởi halinh12sinh View Post
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);
};


}
lionking vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 15-09-2011, 07:18 PM   #5
th0001
Đệ 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?
th0001 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 17-09-2011, 02:46 PM   #6
th0001
Đệ tử 1 túi
 
Tham gia ngày: Dec 2008
Bài gửi: 18
:
??????????
th0001 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 18-09-2011, 10:20 AM   #7
th0001
Đệ 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?
th0001 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 20-09-2011, 06:06 PM   #8
th0001
Đệ tử 1 túi
 
Tham gia ngày: Dec 2008
Bài gửi: 18
:
ko ai trả lời vậy?
th0001 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 30-11-2011, 05:10 PM   #9
th0001
Đệ tử 1 túi
 
Tham gia ngày: Dec 2008
Bài gửi: 18
:
??????????????????????????????
th0001 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Trả lời


Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến


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


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam