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

> > > > 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.
>
>
Danke Dir.

Da muÃ? man erst mal drauf kommen. Scheint jetzt jedenfalls alles zu funktionieren.


    Antwort schreiben


Antworten:

Re: Can (von UlliS - 11.12.2015 9:19)