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 Tìm Kiếm Bài Trong Ngày Ðánh Dấu Ðã Ðọc 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 19-03-2009, 01:06 AM   #1
bin7
Nhập môn đệ tử
 
Tham gia ngày: Oct 2008
Bài gửi: 4
:
Question

Switch quyết định dùng Buffer truyền 0(Dữ liệu được nạp có độ dài 8 byte) hoặc Buffer1(4 Byte) .Sau khi Frame dữ liệu được truyền thành công thì xảy ra một ngắt.Tại chương trình xử lý ngắt , dspic nhận tin và nếu tin nhắn được nhận vào Buffer 0 thì đèn red sáng ,còn được nhận và Buffer 1 thì đèn blue sang. Vậy theo chương trình của a ,sau khi chạy thì cứ sau khoảng 1/2s thì tương ứng với mỗi vi điều khiển lại có một đèn sáng(đỏ hoặc xanh) đúng không ạ!
bin7 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 19-03-2009, 11:18 PM   #2
hopeman
Đệ tử 6 túi
 
hopeman's Avatar
 
Tham gia ngày: Jul 2007
Bài gửi: 146
:
Wink

Trích:
Nguyên văn bởi bin7 View Post
Switch quyết định dùng Buffer truyền 0(Dữ liệu được nạp có độ dài 8 byte) hoặc Buffer1(4 Byte) .Sau khi Frame dữ liệu được truyền thành công thì xảy ra một ngắt.Tại chương trình xử lý ngắt , dspic nhận tin và nếu tin nhắn được nhận vào Buffer 0 thì đèn red sáng ,còn được nhận và Buffer 1 thì đèn blue sang. Vậy theo chương trình của a ,sau khi chạy thì cứ sau khoảng 1/2s thì tương ứng với mỗi vi điều khiển lại có một đèn sáng(đỏ hoặc xanh) đúng không ạ!
chính xác là như thế , dòng đó đơn giản chỉ là định nghĩa ngõ vào cho 1 cái công tắc thôi.và có lẽ là bạn đã hiểu được hết chương trình mình viết rồi đấy.
__________________
mạch nạp - kit phát triển - linh kiện điện tử www.PNLabvn.com
hopeman vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 20-03-2009, 03:07 AM   #3
bin7
Nhập môn đệ tử
 
Tham gia ngày: Oct 2008
Bài gửi: 4
:
Trước hết em thay mặt những ngừơi lười cảm ơn anh rất nhiều, không có a không biết phải mò đến bao giờ!

Trong chương trình khởi tạo CAN ,khi khởi tạo bộ đệm 0 và 1 a khởi tạo là
C1RX0CON = C1RX1CON = 0x0000;
Như vậy bit FILHIT của hai thanh ghi trên đều xác lập cho phép bộ loc 0,và khi khởi tạo cho bộ lọc:
C1RXF0SID = 0x0AA8; //CAN1 Receive Acceptance Filter0 SID
C1RXF2SID = 0x1555; //CAN1 Receive Acceptance Filter2 SID
C1RXF2EIDH = 0x0004; //CAN1 Receive Acceptace Filter2 Extended Identifier high byte
C1RXF2EIDL = 0x8C00; //CAN1 Receive Acceptance Filter2 Extended identifier low byte
tại sao lại sử dụng cả bộ lọc 2 ,em nghĩ bit DBEN khi được set sử dụng luôn bộ lọc 0 cho bộ đệm 1?

Tiện thể a có thể nói rõ hơn một chút về chức năng của bộ lọc và mặt nạ được ko, e có đọc qua tài liệu nhưng hãy còn mơ hồ quá?
Cảm ơn a rất nhiều!
bin7 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Trả lời

Ðiều Chỉnh
Xếp Bà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à 02:31 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