www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik CAN Library von ATMEL - CANary


Autor: Josef Kkk (zumlin)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

ich versuche mich gerade ein bißchen in die Can Lib von Atmel ( 
http://www.atmel.com/dyn/resources/prod_documents/... 
)einzuarbeiten bzw. diese zu nutzen. Das "simple" Beispiel in der Doc 
unter \Libraries\lib_mcu\can funktioniert einwadnfrei und feuert die 
Nachrichten nur so raus, aber sobald ich das "full" Beispiel in einer 
Endlosschleife probiere, schicke ich 15 mal Daten raus und bekomme als 
Status 15mal "not completed" obwohl der PC die Daten erhalten hat und 
dann stopt die Übertragung.
Daher meine Frage. Gibts ne vernünftige Doc für diese Library, damit ich 
mich da etwas besser einlesen kann und nicht einfach alles mit Try&Error 
rausfinden muss? :)

Hier mal ein Auszug aus meinem Code:
  tx_msg0.cmd = CMD_TX;
  uart0_puts("betrete Endlosschleife");
  while(1)
  {
      tx_msg0.pt_data[0] = 0x00;
      tx_msg0.pt_data[1] = 0x0F;
      tx_msg0.pt_data[2] = 0xF0;
      tx_msg0.pt_data[3] = 0xFF;

      //Botschaft versenden    
      if(can_cmd(&tx_msg0) == CAN_CMD_REFUSED)
      {
      
      }
      else
      {
        c_status = can_get_status(&tx_msg0);
        switch (c_status)
          {
            case CAN_STATUS_COMPLETED:
              uart0_puts("can completed");
              tx_msg0.cmd = CMD_TX;
            break;

            case CAN_STATUS_NOT_COMPLETED:
              uart0_puts("can not completed");
            break;

            case CAN_STATUS_ERROR:
              uart0_puts("can error");
            break;

            default:
              uart0_puts("can unknown situation");
            break;

            }
      }
  }


EDIT:
Die 15 Nachrichten scheinen von den Möglichen Mob zu kommen. Der 
AT90CAN128 hat ja 15 MObs. Die macht das Programm voll und dann ist 
Schluss...

Autor: Josef Kkk (zumlin)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gibt es zu dieser CANary wirklich keine Dokumentation???!?!?!

Autor: subitus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Josef,

hier steht alles, was man wissen muss: 
http://www.atmel.com/dyn/resources/prod_documents/...
Kapitel 19 (Seite 234ff)
Die ATMEL-Bibliothek ist lediglich als Beispiel gedacht.

Ohne genaue Kenntnis über dein CAN-Netzwerk, sowie deiner 
CAN-Controller-Konfiguration ist jede Hilfe nur eine wage Vermutung. Ich 
kann dir aber bestätigen, dass die ATMEL-Bibliothek klaglos läuft.

Schaue dir doch mal den Zustand der CAN-Register an (im Debug-Mode unter 
I/O-View => CAN). Möglicherweise befindet sich der Controller im 
Bus-Off.

mfg - subitus

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.