PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   Giao tiếp USB, CAN, I2C, SPI, USART... (http://www.picvietnam.com/forum/forumdisplay.php?f=45)
-   -   Giao tiếp CAN (http://www.picvietnam.com/forum/showthread.php?t=1804)

vuidiem 10-05-2011 04:59 PM

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

lop06d2 11-05-2011 09:23 PM

lê trang CCS.info nhiều code lắm bạn tai về mà dùng từ đó phát triển lên . trong diễn đàn đó dùng googochom có cái dịch thoai mái xem

nakatatran 17-05-2011 04:20 PM

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

lop06d2 20-05-2011 10:24 PM

lên trang CCS.info trang diễn đàn ấy , đọc datasheet của LM35 vẽ ocat ... để tìm hiểu giao thức can trang đầu tiên của chủ đề có mà

lop06d2 06-06-2011 12:15 PM

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
http://www.youtube.com/watch?v=e6pfAhRRPzE

anhduongbk52 07-02-2012 06:37 PM

1 Attachment(s)
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:
http://s1236.photobucket.com/albums/...untitled-1.jpg

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 ơn

rieckaka 12-03-2012 10:26 AM

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

duochi 25-03-2012 11:46 AM

dang lam do an ve can ma k hieu gi ca

sonzoro_ute 05-06-2012 12:17 PM

Mạng CAN
 
Trích:

Nguyên văn bởi vuidiem (Post 44903)
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

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 ơn :) Mail của em là hoangsontk73@gmail.com

lop06d2 10-06-2012 06:09 PM

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

lop06d2 11-06-2012 11:01 AM

rieckaka: cái nầy dễ thôi, viết xong rùi mô phong trên protech

masterking 16-06-2012 01:05 AM

Thank's Admin nhá, bài này hay quá...

hoangdang330 08-10-2012 07:29 PM

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 đỡ.

dieptu 06-02-2013 01:37 PM

Trích:

Nguyên văn bởi tehin2005 (Post 38130)
Hi 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!

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ó.

Cantona92 29-11-2013 04:13 AM

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!


Múi giờ GMT. Hiện tại là 10:50 AM.

Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam