ADwin
Bei CAN low speed muss die Busfrequenz auf Werte ≤125kBit/s eingestellt
werden.
In Sonderfällen kann es vorteilhaft sein, die Einstellungen anders zu wählen,
als es mit
Set_CAN_Baudrate
bestimmte Register mit dem Befehl
ist in der Dokumentation des Controllers beschrieben.
Interrupt freigeben / Event auslösen
Sie können bei einem Message-Objekt freigeben, ob es beim Eingang einer
Nachricht einen Interrupt auslöst. Der Interrupt-Ausgang des CAN-Controllers
ist intern mit dem Event-Eingang des Prozessors verbunden. Dadurch kann der
Prozessor sofort auf eingehende Nachrichten reagieren, ohne den Nachrich-
teneingang kontrollieren zu müssen (Polling).
Sie können die Interrupts mehrerer Message-Objekte freigeben. Welches
Objekt den Interrupt ausgelöst hat, kann aus dem Interrupt-Register (5Fh)
ersehen werden: Es enthält die Nummer des auslösenden Message-Objekts.
Wird das Interrupt-Flag (new message flag) im Message-Objekt zurückgesetzt,
wird das Interrupt-Register aktualisiert. Wenn kein Interrupt mehr ansteht, wird
das Register auf „0" gesetzt. Ist während der Bearbeitung des ersten Interrupts
ein weiterer aufgetreten, so wird dessen Quelle nun im Interrupt-Register ange-
zeigt. Ein weiterer Hardware-Interrupt erfolgt in diesem Fall nicht.
Programmierung
Die Schnittstelle wird mit ADbasic-Befehlen komfortabel programmiert:
Bereich
Initialisierung
Empfangen und Senden von Daten
Schreib- / Lesezugriff auf
Controller-Register
Die Befehle sind in der Include-Datei <ADWGCAN.INC> enthalten und werden
ab
Seite 89
oder in der Online-Hilfe erläutert.
ADwin-Gold USB / ENET, Handbuch Version 4.3, Januar 2012
möglich ist. Zu diesem Zweck müssen
gesetzt werden. Der Registeraufbau
Poke
Befehle
Init_CAN
En_CAN_Interrupt
Set_CAN_Baudrate
CAN_Msg
En_Receive,
Read_Msg, Read_Msg_Con,
Transmit
Set_CAN_Reg
Get_CAN_Reg
Busfrequenz für
Sonderfälle
En_Transmit
CAN-Erweiterung
39