[elektro] dspic CAN lelki teher
Skandar Graun
sgraun at gmail.com
Fri Oct 31 22:27:10 CET 2008
De le ám.
Csodát fogsz látni.
2008/10/31 Ferenc Toth <toferi2 at freemail.hu>:
> Háát nem ,de úgy gondoltam mivel egy másik eszköz is van rajta nem
> kell.Lekéne?
> ----- Original Message -----
> From: "Skandar Graun" <sgraun at gmail.com>
> To: <elektro at tesla.hu>
> Sent: Thursday, October 30, 2008 9:14 PM
> Subject: Re: [elektro] dspic CAN lelki teher
>
>
> Lezártad a buszt?
>
> 2008/10/30 Ferenc Toth <toferi2 at freemail.hu>:
>> Sziasztok.
>> Segijjen lécci valaki,mert nem boldogulok a CAN modullal .
>> Összekapcsoltam egy 30f4013 és egy 30f6014 -et CAN on keresztül és nem
>> látják egymást.Eloször azt hittem,hogy a baud rate nem stimmel,de azonos
>> órajel (és nincs pll szorzó sem) egyforma konfigokat használok SJW BRP
>> SEG2PHTS SEG2PH meg még egy csomó regiszter.......már odáig jutottam ,hogy
>> bemásoltam a forditóba mindkét konfigot igy még csak el sem irhattam.A
>> baud
>> rate 125kbps -re számoltam ki ,ráakasztottam egy CAN tracert ,de ecceruen
>> nincs rajta kommunikáció.Látok szkóppal CAN jelet,de mintha mindig ugyanaz
>> jönne ismétlodve ,viszont a vevo látszólag nem vesz semmit és a logger sem
>> tud rászinkronizálódni.....naszóval ha valaki tudna segíteni akkor nagyon
>> megköszönném .
>> igy néz ki a progi ezzel egy ismétlodo adatot küldök ki a hálózatra:
>> a kiküldendo adat : RxTx_Data[8]
>> az id :Tx_ID = 455;
>> és 125kbps / 8MHz es órajellel
>>
>>
>> unsigned int Can_Init_Flags, Can_Send_Flags, Can_Rcv_Flags; // can flags
>> unsigned int Rx_Data_Len; // received
>> data length in bytes
>> char RxTx_Data[8]; // can rx/tx
>> data buffer
>> char Msg_Rcvd; // reception
>> flag
>> unsigned long Tx_ID, Rx_ID; // can rx and
>> tx ID
>>
>> void main() {
>>
>> ADPCFG = 0xFFFF;
>> PORTB = 0;
>> TRISB = 0;
>> trisd=0;
>>
>>
>>
>>
>> Can_Init_Flags = 0; //
>> Can_Send_Flags = 0; // clear flags
>> Can_Rcv_Flags = 0; //
>>
>> Can_Send_Flags = CAN_TX_PRIORITY_3 & // Form value to be used
>> CAN_TX_XTD_FRAME & // with CAN1Write
>> CAN_TX_NO_RTR_FRAME;
>>
>> Can_Init_Flags = CAN_CONFIG_SAMPLE_ONCE & // Form value to be
>> used
>> CAN_CONFIG_PHSEG2_PRG_ON & // with CAN1Initialize
>> CAN_CONFIG_XTD_MSG &
>> CAN_CONFIG_DBL_BUFFER_ON &
>> CAN_CONFIG_MATCH_MSG_TYPE &
>> CAN_CONFIG_LINE_FILTER_OFF;
>>
>> RxTx_Data[8] = 0X6B,0X76,0XA5,0XBC,0X0E,0X4C,0X00,0X00;
>> // set initial data to be sent
>> // CAN1Initialize(1,3,5,5,1,Can_Init_Flags); // initialize CAN1
>> CAN1Initialize(4,24,6,6,4,Can_Init_Flags); // initialize CAN1
>> CAN1SetOperationMode(CAN_MODE_CONFIG,0xFF); // set CONFIGURATION mode
>>
>> C1CTRL.F11=1;
>>
>> CAN1SetOperationMode(CAN_MODE_NORMAL,0xFF);
>> // set NORMAL mode
>>
>>
>>
>> portd.F9=1; //a power led ON állásba
>> Tx_ID = 455;
>> // set transmit ID
>> portb=0xffff;
>> delay_ms(1000);
>>
>>
>> while(1)
>> { //
>> endless loop
>> Msg_Rcvd = CAN1Write(Tx_ID, RxTx_Data, 8, Can_Send_Flags);
>> if ( Msg_Rcvd==0xFFFF) portd.F3=1; // egy led a kimeneten
>> else portd.F+=0;
>> // portd.f3=C1CTRL.F11;
>> delay_ms(10);
>> //if (Msg_Rcvd==0X00) PORTD.F3=1;
>>
>> // Msg_Rcvd = CAN1Read(&Rx_ID , RxTx_Data , &Rx_Data_Len, &Can_Rcv_Flags);
>>
>> // PORTB = (((RxTx_Data[1])<<8 )| RxTx_Data[2]);
>>
>>
>>
>>
>>
>>
>>
>> }
>> }//~!
>>
>> -----------------------------------------
>> elektro[-flame|-etc]
>>
>
> -----------------------------------------
> elektro[-flame|-etc]
>
>
> __________ ESET NOD32 Antivirus - Vírusdefiníciós adatbázis: 3571 (20081030)
> __________
>
> Az üzenetet az ESET NOD32 Antivirus ellenõrizte.
>
> http://www.eset.hu
>
>
> -----------------------------------------
> elektro[-flame|-etc]
>
More information about the Elektro
mailing list