Herunterladen Inhalt Inhalt Diese Seite drucken

JÄGER ADwin-X-A20 Handbuch Seite 151

Inhaltsverzeichnis

Werbung

ADwin
übergibt die Nachricht in CAN_Msg zum Senden an die CAN-Schnitt-
CAN_Transmit
stelle.
Syntax
#Include
ADwin-X.Inc
CAN_Transmit(can_no, priority, id_extend)
Parameter
Nummer (1, 2) der CAN-Schnittstelle
can_no
Sendepriorität der Nachricht:
priority
0: Normale Priorität, Nachricht wird über Aus-
gangs-FIFO verschickt.
1: Hohe Priorität, Nachricht wird als nächste verschickt.
Länge des Identifiers:
id_extend
0: 11 Bit
1: 29 Bit
0: Nachricht ist an CAN-Schnittstelle übergeben.
ret_val
-1: Sendespeicher ist voll, Nachricht muss erneut über-
geben werden.
Bemerkungen
Um eine Nachricht zu senden, müssen Sie folgende Reihenfolge einhalten:
Geben Sie die Nachricht in das Feld CAN_MSG ein: Die Datenbytes, Anzahl
der Datenbytes und Identifier. Der Zeitstempel hat keine Funktion.
Übergeben Sie die Nachricht mit
Prüfen Sie, ob die Nachricht korrekt übergeben wurde.
Die CAN-Schnittstelle sendet die nächste Nachricht, sobald sie Zugriffsrecht auf
den CAN-Bus hat. Eine Nachricht mit hoher Priorität wird bei der nächsten Ge-
legenheit versendet, auch wenn im Ausgangs-FIFO bereits Nachrichten mit nor-
maler Priorität warten. Nachrichten mit normaler Priorität werden in der
Reihenfolge verschickt, in der sie in den Ausgangs-FIFO geschrieben werden.
Siehe auch
CAN_Msg, CAN_Init, CAN_Receive, CAN_RX_Set_Filter
Gültig für
X-A20+COM
Beispiel
#Include
ADwin-X.Inc
Rem Sendet eine 32 Bit-FLOAT-Zahl (hier: Pi) als Folge von
Rem 4 Bytes in einem Message-Objekt
#Define
pi
3.14159265
Dim
i
As Long
Init:
Rem Initialisiere CAN-Controller 2 mit 50000 Baud
Par_1
= CAN_Init(2,50000)
If
(Par_1
<> 0)
Then Exit
Rem Bitmuster von Pi mit Datenformat Long erzeugen
PAR_1
= Cast_Float32ToLong(pi)
Rem Bitmuster (32 Bit) in 4 Bytes aufteilen
For
i
=
0
To
3
CAN_Msg[4-i] = Shift_Right(PAR_1,8*i)
Next
i
CAN_Msg[9] =
4
CAN_Msg[10] =
40
Event:
Par_2
=
CAN_Transmit(2,0,0)'Nachricht mit 11Bit-ID senden
Empfangen einer Fließkomma-Zahl siehe Bsp. bei CAN_Receive.
ADwin-X-A20, Handbuch Sep. 2019
an die CAN-Schnittstelle.
CAN_Transmit
And
0FFh
'Länge der Nachricht in Bytes
'Identifier der Nachricht
CAN-Schnittstelle
CAN_Transmit
CAN_Transmit
LONG
LONG
LONG
LONG
145

Werbung

Inhaltsverzeichnis
loading

Inhaltsverzeichnis