Chào anh lop06d2. EM dang làm đề tài mạng CAN. bây giờ đang truyền nhận tín hiệu giữa hai node, mỗi node gồm pic8f4580+ mcp2551. Nhưng chưa có Soure code. Anh có không ạ. em đang cần gấp
Giao tiếp CAN
Collapse
This is a sticky topic.
X
X
-
Mình đang tìm hiểu về giao thức CAN đọc nhiệt độ từ LM35 hiển thị ra LCD
Mình đang tìm hiểu về giao thức CAN đọc nhiệt độ từ LM35 hiển thị ra LCD
Sư huỳnh nào đã làm thành công rồi chỉ mình với.
Cám ơn
Comment
-
hình ảnh đề tài phần led ma trận chưa viết lại code nếu có điều kiện anh em làm thêm
Comment
-
Trong file 18f4580.c có định nghĩa hàm:
void can_init(void) {
can_set_mode(CAN_OP_CONFIG); //must be in config mode before params can be set
can_set_baud();
curfunmode=CAN_FUN_OP_LEGACY;
// RXB0CON
// filthit0=0
// jtoff=0
// rxb0dben=1 buffer zero will overflow into buffer one
// rxrtrro=0
// rxm1:0=0 will recive all valid IDs
RXB0CON=0;
RXB0CON.rxm=CAN_RX_VALID;
RXB0CON.rxb0dben=CAN_USE_RX_DOUBLE_BUFFER;
RXB1CON=RXB0CON;
CIOCON.endrhi=CAN_ENABLE_DRIVE_HIGH;
CIOCON.cancap=CAN_ENABLE_CAN_CAPTURE;
CIOCON.tx2src=CAN_CANTX2_SOURCE; //added 3/30/09 for PIC18F6585/8585/6680/8680
CIOCON.tx2en=CAN_ENABLE_CANTX2; //added 3/30/09 for PIC18F6585/8585/6680/8680
can_set_id(RX0MASK, CAN_MASK_ACCEPT_ALL, CAN_USE_EXTENDED_ID); //set mask 0
can_set_id(RXFILTER0, 0, CAN_USE_EXTENDED_ID); //set filter 0 of mask 0
can_set_id(RXFILTER1, 0, CAN_USE_EXTENDED_ID); //set filter 1 of mask 0
can_set_id(RX1MASK, CAN_MASK_ACCEPT_ALL, CAN_USE_EXTENDED_ID); //set mask 1
can_set_id(RXFILTER2, 0, CAN_USE_EXTENDED_ID); //set filter 0 of mask 1
can_set_id(RXFILTER3, 0, CAN_USE_EXTENDED_ID); //set filter 1 of mask 1
can_set_id(RXFILTER4, 0, CAN_USE_EXTENDED_ID); //set filter 2 of mask 1
can_set_id(RXFILTER5, 0, CAN_USE_EXTENDED_ID); //set filter 3 of mask 1
// set dynamic filters
can_set_id(RXFILTER6, 0, CAN_USE_EXTENDED_ID);
can_set_id(RXFILTER7, 0, CAN_USE_EXTENDED_ID);
can_set_id(RXFILTER8, 0, CAN_USE_EXTENDED_ID);
can_set_id(RXFILTER9, 0, CAN_USE_EXTENDED_ID);
can_set_id(RXFILTER10, 0, CAN_USE_EXTENDED_ID);
can_set_id(RXFILTER11, 0, CAN_USE_EXTENDED_ID);
can_set_id(RXFILTER12, 0, CAN_USE_EXTENDED_ID);
can_set_id(RXFILTER13, 0, CAN_USE_EXTENDED_ID);
can_set_id(RXFILTER14, 0, CAN_USE_EXTENDED_ID);
can_set_id(RXFILTER15, 0, CAN_USE_EXTENDED_ID);
set_tris_b((*0xF93 & 0xFB ) | 0x08); //b3 is out, b2 is in
can_set_mode(CAN_OP_NORMAL);
}
Hàm này gọi ra hàm con là void can_set_mode(CAN_OP_MODE);
Trong lần gọi đầu can_set_mode(CAN_OP_CONFIG); //must be in config mode before params can be set
Thì CONFIG thành công
Còn khi trả về chế độ normal: can_set_mode(CAN_OP_NORMAL);
thì chương trình nhảy liên tục tại
void can_set_mode(CAN_OP_MODE mode) {
CANCON.reqop=mode;
while( (CANSTAT.opmode) != mode );
}
không thoát ra được.
Khi mô phỏng với MPLAB SIM thì ra thế này:
A private space for your group's photos and videos. Share, react, and relive moments together. Available on iOS, Android, and desktop. Free for new sign-ups.
Nạp vào mạch thì Các ứng dụng khác vẫn chạy, chỉ không giao tiếp được Can thôi.
Mong các anh chị giúp đỡ.Em xin cảm ơnAttached FilesLast edited by anhduongbk52; 07-02-2012, 05:57 PM.
Comment
-
bác Ngoducbinh1987 có thể cho em file về CAN (pic1 đo nhiệt độ bằng LM355, pic2 nhận và hiển thị lên LCD). em đang làm đồ án môn học về cái này nhưng ko hiễu rõ cho lắm
mail của em : rieckaka@gmail.com
Comment
-
Mạng CAN
Anh ơi anh làm được đề tài này chưa! Nếu làm được rùi gửi em bài của anh em tham khảo với! Mọi người ai có làm cái này rùi cũng gửi giúp em tham khảo với nha !Em cám ơnNguyên văn bởi vuidiem View PostChào anh lop06d2. EM dang làm đề tài mạng CAN. bây giờ đang truyền nhận tín hiệu giữa hai node, mỗi node gồm pic8f4580+ mcp2551. Nhưng chưa có Soure code. Anh có không ạ. em đang cần gấp
Mail của em là hoangsontk73@gmail.com
Comment
-
lam the nao tai cai thuyet minh tot nghiep cho anh em tham khao day, trong chuong trinh mau cua CCS có mấy cái mẫu đó. mình làm giao tiếp ok.
http://www.mediafire.com/file/a4321o...h_da_sua_2.rar
Comment
-
-
Xin hỏi có ai có tài liệu về giao tiếp LIN không? mình muốn tìm hiểu về LIN nhưng chưa biết bắt đầu từ đâu, rất mong được giúp đỡ.
Comment
-
bạn có thể hướng dẫn cho mình cách làm về can với pic 18 dc k? h mình đang rất cần người giúp đỡ, vì chưa làm về pic bao giờ mà đùng cái thầy giao cho cái đề tài về Can. h mình không biết làm già với nó.Nguyên văn bởi tehin2005 View PostHi Các Đại Ca!
Mình đã làm canbus của PIC 18, hai node giao tiếp thì chạy ok! Nếu mình dùng nhiều node thì nó lại stop can. Mình mới tìm cách dùng MASK và FILTER để lọc id thì nó chạy có lúc ok, có lúc ko ok? Đại ca nào hiểu biết nhiều về vấn đề này xin cho minh một lời tư vấn!
tehin2005!
Kính chào!
Comment
-
Chào các bác, em được giao đề tài "Giao tiếp đa vi điều khiển sử dụng chuẩn CAN", nhưng do lười nhác và ít hiểu biết về kiến thức nên mong các bác cho em ý kiến về đề tài là như nào, em cũng đã đọc qua các tài kiệu bên trên về CAN nhưng còn thấy rất mơ hồ, các bác có thể gợi ý cho em đề tài cụ thể về giao tiếp đa vi điều khiển được không ạ? Mong các bác reply!
Comment
Comment