Aufrufe
vor 4 Jahren

Download - Fakultät 06 - Hochschule München

Download - Fakultät 06 - Hochschule München

3 Bibliotheken der

3 Bibliotheken der Diplomarbeit typedef struct{ uint32_t data_t } can_message_t; typedef union{ uint8_t uint16_t uint32_t uint64_t char } data_t; IDT data as_value08[8] as_value16[4] as_value32[2] as_value64 as_string[8] Abbildung 3.1: Der Nachrichtentyp can_message_t und der in diesem verwendete Datentyp data_t 3.1.2 Benutzerfunktionen CAN-init Die CAN-Initialisierung startet CAN neu, löscht alle Register und MObs, setzt das CAN-Bittiming, aktiviert Interrupts und startet CAN. Diese Initialisierung ist einmalig vor der Benutzung von CAN-Befehlen erforderlich. Das CAN-Bittiming wird nach den Definitionen am Beginn des Headers gesetzt und ist auf 100 kBps bei 16 MHz eingestellt. Die aktivierten Interrupts setzen sich zusammen aus dem generellen CAN-Interrupt, dem CAN-RX-Interrupt und dem CAN-TX- Interrupt. Die CAN-Initialisierung ist bewusst kurz gehalten und ohne die Möglichkeit, das Bittiming als Variable zu übergeben. Der einfache Aufruf der Initialisierungsfunktion bereitet CAN vollständig vor. CAN-init-Anwendungsbeispiel #include "can.h" void On_RX_Interrupt(can_message_t Nachricht){} int main(){ CAN_init(); while(1){}; return 0; }; On-RX-Interrupt Die Funktion On_RX_Interrupt wird vom Interrupthandler des Headers aufgerufen. In jedem Fall muss diese Funktion nachträglich definiert werden, auch wenn keine Interrupts verwendet werden sollen. Gedacht ist die Funktion zur Unterscheidung eingehender Nachrichten nach ihrer ID. Der Funktion wird die Nachrichtenstruktur can_message_t als einziges Argument übergeben. 29

On-RX-Interrupt Definitionsbeispiel 3 Bibliotheken der Diplomarbeit void On_RX_Interrupt(can_message_t Nachricht){ switch(Nachricht.IDT){ case 0x125: DoStuffForID126(Nachricht.data.as_value64); break; case 0x126: DoStuffForID126(Nachricht.data.as_value64); break; case 0x127: DoStuffForID127(Nachricht.data.as_value08[0]); break; default: DoStuffForOtherIDs(); break; } } RX-Interrupt Die Funktion MOB_init_RX_interrupt stellt ein Mob darauf ein, Nachrichten zu empfangen, die im Anschluss über On_RX_Interrupt ausgewertet werden. Nach dem Empfang wird das MOb reaktiviert und ist erneut empfangsbereit. Es ist demnach nur einmal (z.B. gleich nach der CAN-Initialisierung) erforderlich, MOB_init_RX_interrupt aufzurufen. Der Funktion wird als Parameter die zu empfangende ID und die Maske übergeben. Die Definition MATCH_IDT enthält eine Maske, die nur genau zutreffende IDs weiterleitet. On-RX-Interrupt-Anwendungsbeispiel #include "can.h" void On_RX_Interrupt(can_message_t Nachricht){} int main(){ CAN_init(); MOB_init_RX_interrupt(0x102, MATCH_IDT); while(1){}; return 0; }; MOB-RX-polling Die Funktion MOB_RX_polling ist eine Funktion zum einmaligen Empfang von Nachrichten über die Polling-Methode. Die Funktion richtet ein MOb zum Empfang der Nachricht ein, falls für diese Nachricht noch kein MOb eingerichtet ist und überprüft, ob in dem MOb eine empfangene Nachricht hinterlegt ist. Ist eine Nachricht hinterlegt, so greift die Funktion über den übergebenen Pointer auf ein Nachrichtenobjekt zu und speichert dort die Nachricht. Im Anschluss wird das MOb freigegeben. Der Rückgabewert der Funktion ist 1, wenn eine Nachricht gefunden wurde und 0, wenn keine Nachricht gefunden wurde. Die Funktion erwartet als Übergabewert einen Pointer auf eine can_message_t-Struktur, in der die Ziel-ID bereits hinterlegt ist. 30

Hochschultage Istanbul 2009 Download Präsentation - Fakultät für ...
Download - Hochschule für Wirtschaft und Recht Berlin
Download - Hochschule für Wirtschaft und Recht Berlin
Download Studiengangsflyer Kunstwissenschaft - Hochschule für ...
Als PDF downloaden - Georg-Simon-Ohm-Hochschule Nürnberg
Seminarprogramm PDF zum Download - Pädagogische Hochschule ...
Als PDF downloaden - Georg-Simon-Ohm-Hochschule Nürnberg
Download Flyer - Hochschule Aalen
Zum Download - Hochschule Magdeburg-Stendal
Download Aufbaustudiengang KunstTherapie Flyer - Hochschule für ...
Zum Download - Hochschule Magdeburg-Stendal
download Programm.pdf - Hochschule Anhalt
Programm als Download - Hochschule Magdeburg-Stendal
Download - Hochschule für Wirtschaft und Recht Berlin
Download - Alumni Hochschule Luzern
Download des aktuellen Forschungsberichts - Hochschule ...
Zum Download - Hochschule Magdeburg-Stendal
Download Detailprogramm - Hochschule der Künste Bern
Zum Download (PDF) - Hochschule Magdeburg-Stendal
download - Beuth Hochschule für Technik Berlin
Download - Alumni Hochschule Luzern