This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revision | |||
| de:hardware:avr-can:exercise_1 [2010/11/07 22:02] – Wember | de:hardware:avr-can:exercise_1 [2020/07/20 12:00] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ====== Übungen ====== | ||
| + | ====Übung 1==== | ||
| + | |||
| + | Für diese Übung brauchen wir ein CAN Board mit dem USB_CAN.hex Programm (board 1) | ||
| + | und ein zweites CAN Board (board 2). Board 2 ist Board 1 ähnlich, jedoch wurde es noch nicht programmiert. Wir nutzen außerdem ein USB-CAN-Terminal Programm um die CAN Kommunikation zu visualisieren. | ||
| + | |||
| + | {{: | ||
| + | |||
| + | Bild 1.21: Setup und Alternative | ||
| + | |||
| + | Das linke Bild zeigt ein Setup dass wir für diese Aufgaben nutzen werden. CAN-Messages werden mit dem CAN-USB Terminal Programm dargestellt. Das rechte Bild zeigt ein alternatives Setup. CAN-Messages können auch auf dem LCD angezeigt werden. | ||
| + | Wichtig: Den Anweisungen in "Das Board testen", | ||
| + | |||
| + | Aufgabe: Nutze den 10-Wege Flachbandkabel um die beiden Boards zu verbinden. | ||
| + | Stelle sicher, dass die Anschlüsse richtig angebracht sind, wie bei bei " | ||
| + | Nutze das CAN-USB Terminal Programm wie im Kapitel "Das CAN-USB-Terminal nutzen" | ||
| + | |||
| + | <code c> | ||
| + | # | ||
| + | # | ||
| + | # | ||
| + | # | ||
| + | |||
| + | int main(void) | ||
| + | { | ||
| + | // insert | ||
| + | while | ||
| + | { | ||
| + | // insert | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | ====Übung 2==== | ||
| + | |||
| + | Für diese Übung brauchen wir ein CAN Board mit dem USB_CAN.hex Programm (board 1) | ||
| + | und ein zweites CAN Board (board 2), genau wie in Übung 1. | ||
| + | Aufgabe: Programmiere den ATmega32 an Board 2 so, dass er CAN Messages empfangen kann. | ||
| + | Nutze das CAN-USB Terminal Programm um CAN Messages von Board 1 zu Board 2 zu senden. | ||
| + | Erstelle eine Struktur des Types " | ||
| + | Nutze passende Methoden welche von " | ||
| + | Nutze die Methode " | ||
| + | Die Header-Datei " | ||
| + | |||
| + | **Beispiel: | ||
| + | |||
| + | ====Übung 3==== | ||
| + | Für diese Übung nutzen wir zwei CAN Board, welche nicht an den PC angeschlossen werden. | ||
| + | Einfach den USB Kabel ziehen und den AC/ | ||
| + | Die Boards bleiben per Flachbandkabel verbunden. Board 2 wird indirekt über Board 1 mit Strom versorgt. | ||
| + | |||
| + | **Aufgabe: | ||
| + | Füge die Programme von Übung 2 mit dem von Übung 1 zusammen, so dass es sowohl Senden als auch Empfangen kann. Die Aufgabe ist es, beide Boards mit dem gleichen Programm zu flashen, und eine Verbindung zwischen denen herzustellen. In der " | ||
| + | Stelle sicher, die Pull-Up Widerstände an diesen Pins (außerhalb des while-loop) zu aktivieren. Sonst sind die Pins " | ||
| + | |||
| + | **Beispiel: | ||
| + | |||
| + | Board 1 sendet eine CAN Message " | ||
| + | |||
| + | Board 1 sendet eine CAN Message " | ||
| + | |||
| + | Board 2 sendet eine CAN Message " | ||
| + | |||
| + | Board 2 sendet eine CAN Message " | ||