Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum

Re: Can Kategorie: CC-Pro Unit & Appl.Board (von Norbert - 5.12.2015 6:24)
Als Antwort auf Re: Can von UlliS - 4.12.2015 10:22

> > Hi,
> >
> > Habe mir die C-Control Pro AVR32 nur wegen dem 2.ten CAN-Kanal gekauft. Will man diesen, wie im
> > Beispielprogramm CAN-Transmitter.cc,mit CAN_SetChan(1) einschalten, funktioniert es nicht.
> > Es gibt zwar inzwischen ein Beta IDE Update 2.40 mit dem dies funktioniert, aber wenn man den
> > USB-Stecker von der Unit trennt, muÃ? man nach jeder Unterbrechung der Spannungsversorgung 3x den
> > Startknopf drücken, um das Programm wieder zum Laufen zu bekommen, kurioserweise nur bei diesem
> > Programm und nur wenn man den 2.ten CAN-Kanal eingeschaltet hat. Dies ist natürlich sehr schlecht,
> > wenn die Unit in eine Applikation eingebaut ist. Das Programm startet einfach nach einem
> > Spannungsreset nicht richtig. Könnte man hier noch irdendwie nachbessern?
> >  
> >                      
> >       Gruss Norbert
>
> Kannst du mal ein Demo auf das nötigste reduziert (ca. 25 Zeilen)?
>
Hallo,

Danke erst mal für die schnelle Antwort.
Hab mal das betreffende Beispielprogramm aus der Conradsammlung unten angehängt.
Sorry wegen der Länge, aber es besteht fast nur aus Kommentar. Wollte nur zeigen, da� es das
unverfälschte Original ist, nur da� mit "CAN_SetChan(1)" anstatt "CAN_SetChan(0)" etwa in der
Mitte des Programms der 2.te Kanal eingeschaltet wird. Trennt man die Unit dann vom Usb-AnschluÃ?
und unterbricht kurz die Spannungsversorgung mu� man 3x den Startknopf drücken. Bei überbrücktem
Starter kann man gar nicht mehr starten.
Lä�t man das Programm wie im Original mit "CAN_SetChan(0)" laufen, funktioniert alles.
 
/*******************************************************************************

 Project Name:      CAN_Transmitter.cprj
 Required Libs's:   IntFunc_lib.cc
 Files:             CAN_Transmitter.cbas
 Writer:            CCPRO-TEAM
 Date:              22.08.2013
 Function:          CAN Transmitter

 ------------------------------------------------------------------------------
 AVR32 Serie:
 Required the C-Control PRO AVR32-Bit UNIT Conrad BN: 192573
 Applicationboard Conrad BN: 192587
 Or Mainboard Conrad BN: 192702

 MEGA Serie:
 C-Control PRO MEGA128CAN Conrad BN: 197989
 and Evaluationboard Conrad BN: 198258
 or Projectboard Conrad BN: 197313
 ------------------------------------------------------------------------------

 Note:
 -----

 This program sends two messages to the CAN-BUS.

 The first message (MOB 0) has a 11 bit identifier
 The second message (MOB 1) has a 29Bit Identifiers (Extendet)

 The "CAN_RX.cc" receives the data and displays it on 2 LED's.
 CAN data and information are shows on the IDE output window.

*******************************************************************************/


/*------------------------------------------------------------------------------
name:           main
input:          -
output:         -
description:    Send two messages over the CAN
------------------------------------------------------------------------------*/
Sub main()

    Dim i As Integer

    ' Data Bytes
    Dim data(8) = {0,0,0,0,0,0,0,0} As Byte

    ' FIFO Buffer
    Dim fifo_buf(140) As Byte

    CAN_Init(CAN_250KBPS, 10, fifo_buf)

    ' Only AVR32
    #ifdef AVR32
    CAN_SetChan(1)
    #endif

    ' 11Bit Identifier
    CAN_SetMOb(0, 0x432L, 0L, CAN_SEND)

    ' 29Bit Identifier
    CAN_SetMOb(1, 0x12345678, 0L, CAN_SEND Or CAN_EXTID)


    ' Endless loop
    Do While(1)


         ' Send data over CAN
         ' CAN 2.0A - 11Bit Identifier
         data(7) = 1
         CAN_MObSend(0, 8, data)
         AbsDelay(500)

         ' CAN 2.0B - 29Bit Identifier
         data(6) = 1
         CAN_MObSend(1, 8, data)
         AbsDelay(500)

         '----------------------------

         ' CAN 2.0A - 11Bit Identifier
         data(7) = 0
         CAN_MObSend(0, 8, data)
         AbsDelay(500)

         ' CAN 2.0B - 29Bit Identifier
         data(6) = 0
         CAN_MObSend(1, 8, data)
         AbsDelay(500)

    End While

End Sub


/*******************************************************************************
 * Info
 *******************************************************************************
 * Changelog:
 * -
 *
 *******************************************************************************
 * Bugs, feedback, questions and modifications can be posted on the
 * C-Control Forum on http://www.c-control.de
 * Of course you can also write us an e-mail to: webmaster@c-control.de
 * We publish updates from time to time on www.c-control.de!
/******************************************************************************/

' EOF




    Antwort schreiben


Antworten:

Re: Can (von UlliS - 9.12.2015 10:34)
    Re: Can (von Norbert - 11.12.2015 3:24)
        Re: Can (von UlliS - 11.12.2015 9:19)