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


von Josef K. (zumlin)


Lesenswert?

Hi,

ich versuche mich gerade ein bißchen in die Can Lib von Atmel ( 
http://www.atmel.com/dyn/resources/prod_documents/at90CANLIB_3_2.zip 
)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:
1
  tx_msg0.cmd = CMD_TX;
2
  uart0_puts("betrete Endlosschleife");
3
  while(1)
4
  {
5
      tx_msg0.pt_data[0] = 0x00;
6
      tx_msg0.pt_data[1] = 0x0F;
7
      tx_msg0.pt_data[2] = 0xF0;
8
      tx_msg0.pt_data[3] = 0xFF;
9
10
      //Botschaft versenden    
11
      if(can_cmd(&tx_msg0) == CAN_CMD_REFUSED)
12
      {
13
      
14
      }
15
      else
16
      {
17
        c_status = can_get_status(&tx_msg0);
18
        switch (c_status)
19
          {
20
            case CAN_STATUS_COMPLETED:
21
              uart0_puts("can completed");
22
              tx_msg0.cmd = CMD_TX;
23
            break;
24
25
            case CAN_STATUS_NOT_COMPLETED:
26
              uart0_puts("can not completed");
27
            break;
28
29
            case CAN_STATUS_ERROR:
30
              uart0_puts("can error");
31
            break;
32
33
            default:
34
              uart0_puts("can unknown situation");
35
            break;
36
37
            }
38
      }
39
  }


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

von Josef K. (zumlin)


Lesenswert?

Gibt es zu dieser CANary wirklich keine Dokumentation???!?!?!

von subitus (Gast)


Lesenswert?

Hallo Josef,

hier steht alles, was man wissen muss: 
http://www.atmel.com/dyn/resources/prod_documents/doc7679.pdf
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

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.