|
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 |
24-06-2008, 12:41 PM | #1 |
Đệ tử 1 túi
Tham gia ngày: Oct 2007
Bài gửi: 22
: |
Ai làm về CAN rồi xem dùm e
Cái này là 1 node e vẽ, sau khi lắp 2 cái như vậy, chạy và... ko thấy zì hết. Pác nào làm cái này rùi xem dùm e có bị sai zì ko vậy?
Truyền Code:
#include <18F4580.h> #fuses HS,NOPROTECT,NOLVP,NOWDT #use delay(clock=20000000) #use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7) #include <can-18F4580.c> #define SET_LED_ID_B 0x202 //set LEDs for CAN port B void main() { int mang[16]={0,1,2,3,4,5,6,7,8,9,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f}; int *pointer,led,i; set_tris_A(0x00); set_tris_D(0xff); pointer=&mang[0]; can_init(); i=16; while(1) { //if(input(pin_D4)==0) //{ if ( can_tbe() ) //every two seconds, send new data if transmit buffer is empty { led=*pointer; can_putd(SET_LED_ID_B,&led , 1, 1, 1, 0); output_A(led); delay_ms(1000); } pointer++; i--; if(i==0) { i=16; pointer=&mang[0]; } } //} } Code:
#include <18F4580.h> #fuses H4,NOPROTECT,NOLVP,NOWDT #use delay(clock=20000000) #use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7) #define SET_LED_ID_B 0x202 #include <can-18F4580.c> ////khai bao cac ham dung trong truong trinh void BinToHexAscii(char c); int8 Ascii2Hex(char c1,char c2); ////////////////////////////////////// int16 ms; struct rx_stat rxstat; int32 rx_id; int in_data; int rx_len=8,*pointer; int recive[15],i=0; /////////////////////////////////////// #INT_CANRX0 void can_reciver() { can_getd(rx_id, &in_data,rx_len, rxstat); if(rx_id==SET_LED_ID_B) { output_A(in_data); // *pointer=in_data; //if(pointer==14) // {pointer=0;} } // pointer++; } ////////////////////////////////////// void main() { enable_interrupts(GLOBAL); enable_interrupts(INT_CANRX0); pointer=&recive[0]; can_init(); set_tris_A(0x00); //set_tris_C(0x00); set_tris_D(0xff); while(TRUE) { /* if(input(pin_D0)==0) { pointer=&recive[0]; while(pointer<(15+&recive[0])) { output_A(*pointer); pointer++; delay_ms(1000); } pointer=&recive[0]; }*/ } } thay đổi nội dung bởi: KA52, 05-07-2008 lúc 12:12 AM. |
|
|