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 UlliS - 9.12.2015 10:34)
Als Antwort auf Re: Can von Norbert - 5.12.2015 6:24

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

Hallo Norbert,

Ein CAN_SetChan() mu� vor einem CAN_Init() ausgeführt
werden, da das CAN_SetChan() auf alle CAN Funktionen geht.
Das ist gegebenenfalls auch in den Demos falsch, und ist 2013 auch nicht aufgefallen.




    Antwort schreiben


Antworten:

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