Beide Seiten der vorigen Revision
Vorhergehende Überarbeitung
Nächste Überarbeitung
|
Vorhergehende Überarbeitung
|
microcontrollertechnik:start [2020/09/17 12:05] tfischer [Links] |
microcontrollertechnik:start [2024/10/10 14:05] (aktuell) mexleadmin [Links zur Vorlesung] |
====== Mikrocontroller-Technik ====== | ====== Mikrocontroller-Technik ====== |
| |
| ===== Einführung und Einordnung ===== |
| |
<WRAP right> | <WRAP right> |
| |
Die Mikrocontroller-Technik befasst sich damit, wie man einem programmierbaren Bauteil ("Mikrocontroller") Leben einhaucht. Dabei wird die Software im Folgenden in der Programmiersprache C programmiert. Im Gegensatz zu der im 1. und 2. Semester im Kurs Informatik dargestellten Sprachkomponenten und Algorithmen wird hier Wert auf die Eigenheiten durch die Hardware-nähe gelegt. | Die Mikrocontroller-Technik befasst sich damit, wie man einem programmierbaren Bauteil ("Mikrocontroller") Leben einhaucht. Dabei wird die Software im Folgenden in der Programmiersprache C programmiert. Im Gegensatz zu der im 1. und 2. Semester im Kurs Informatik dargestellten Sprachkomponenten und Algorithmen wird hier Wert auf die Eigenheiten durch die Hardware-nähe gelegt. |
| Es wird auf die Kenntnisse folgender Fächer zurückgegriffen: |
| |
| * Informatik I und II |
| |
| **Wichtig:** |
| |
| * Bleiben Sie mit uns in Kontakt! Trotzdem es zeitweise Wochen mit eigenständigen Bearbeitung gibt, ist der Austausch wichtig, damit zu den jeweiligen Abgaben ein sinnvolles Ergebnis abgeliefert wird. |
| * Suche Sie den Austausch mit den anderen Studierenden. Meistens haben Sie die Lösung, zum Problem eines anderen und umgekehrt. |
| * Wenn Sie erst eine Woche vor der Abgabe mit dem Programmieren beginnen, wird es in der Regel eng. Besonders, wenn es Unklarheiten und Nachfragen gibt. Beginnen Sie frühzeitig. |
| * Versuchen Sie Spaß am Programmieren zu finden. Es ist wie Puzzeln, nur dass Sie selbst das Bild bestimmen! |
| |
~~PAGEBREAK~~ ~~CLEARFIX~~ | ~~PAGEBREAK~~ ~~CLEARFIX~~ |
<panel type="warning" title="Achtung"> | |
Die Veranstaltung ist dieses Semester __nicht__ mit dem Elektronik-Labor kombiniert. | |
<wrap hide>Details zum Ablauf finden Sie beim [[elektronik_labor:start|EST Labor]].</wrap> | |
</panel> | |
| |
===== Zeitplan ===== | |
| |
* **__03.07__** Abgabe der ersten Software-Version: | ===== Links zur Vorlesung ===== |
* Diese Software soll bereits lauffähig sein. | |
* Die Software darf auskommentierte, nicht lauffähige Komponenten enthalten | |
* **__24.07__** Abgabe der finalen Software-Version \\ Diese Software soll den Anforderungen (siehe [[Tipps fürs Programmieren]]) genügen | |
* **__31.07__** Abgabe der (finalen) Präsentation \\ Für die Präsentation sind weitere Tipps unter [[Präsentation]] zu finden | |
| |
===== Abgabe ===== | ^ Thema ^ Beschreibung ^ Sprache ^ |
* Zur Abgabe der Softwarekomponenten: | | Tutorial | Eine schöne Einführung in die Embedded Softwareentwicklung ist im Buch "Sensornetzwerke in Theorie und Praxis - Embedded Systems-Projekte erfolgreich realisieren" von Prof. Meroth und Herrn Sora zu finden. Dort wird der Einstieg in das Feld die (in Hardware) eingebettete Softwareentwicklung erklärt. Aus dem Hochschulnetz bzw. mit VPN können Sie dieses direkt bei [[https://link.springer.com/book/10.1007/978-3-658-31709-6|Springer Link]] betrachten. |Deutsch| |
* Bitte geben Sie folgenden Komponenten ab: | |:::| The above-mentioned book is as "Sensor networks in theory and practice" also available in English. It is the accompanying book of Prof. Meroth and Mr. Sora. It explains how to get started in the field of (hardware) embedded software development. From the university network or with VPN you can view this directly at [[https://link.springer.com/content/pdf/10.1007/978-3-658-39576-6.pdf|Springer Link]].|English| |
* Projektordner aus ATMEL Studio | | Tutorial | Empfehlenswertes Tutorial von [[https://www.mikrocontroller.net/articles/AVR-GCC-Tutorial| mikrocontroller.net]]|Deutsch| |
* Eine Simulide Datei | | Tutorial |Also the AVR itself has a nice introduction into C programming on the AVR platform as [[https://www.youtube.com/watch?v=UMi6lg563BA&index=3&list=PLtQdQmNK_0DRhBWYZ32BEILOykXLpJ8tP|Video]] and [[https://developerhelp.microchip.com/xwiki/bin/view/products/mcu-mpu/8-bit-avr/|textual Developer Help]] |English| |
* Bitte entfernen Sie nicht notwendige Files, d.h. lassen Sie alte, nicht eingebundene Files und alte Versionen weg, sofern Sie solche angelegt haben | |Datenblatt| Das [[https://ww1.microchip.com/downloads/en/DeviceDoc/ATmega48_88_168_megaAVR-Data-Sheet-40002074.pdf|Data Sheet]] des Atmega88 ist ebenfalls ein gutes Nachschlagewerk |English| |
* Die Abgabe erfolgt per Mail. Bitte nutzen Sie ein Kompressions-Tool um ein zip/rar-File zu erstellen, welches alle Dateien enthält. \\ **wichtig:** Schützen Sie die Datei per Passwort und geben Sie dieses in der Mail an. | |Datenblatt| Das Datenblatt des Atmega88 wurde auch auf Deutsch übersetzt: [[https://www-user.tu-chemnitz.de/~heha/viewchm.php/hs/ATmegaX8.chm/|Online Datenblatt ATmega88]] |English| |
* Zur Abgabe der Präsentation | |C-Support| Ein [[http://www.8bit-era.cz/arduino-timer-interrupts-calculator.html|Rechner für Interrupt Timer und PreScaler]] |English| |
* Diese erfolgt über einen Link, welcher in [[https://ilias.hs-heilbronn.de/goto.php?target=frm_229245_6864&client_id=iliashhn|ILIAS]] zu finden ist | |C-Support|[[https://www.nongnu.org/avr-libc/user-manual/modules.html|Dokumentation der AVR Compilerbibliotheken]] (z.B. stdlib) |English| |
* Gerne können Sie auch Ihr Video per digitale (soziale) Medien teilen. Es schadet nie etwas Werbung für interessante Themen und für Ihre Hochschule zu machen. Falls das Medium öffentlich zugänglich ist, ist es ausreichend eine Textdatei mit Link abzugeben. | |
| |
===== Links ===== | |
| |
=== Resourcen für embedded Programmierung === | ===== weiterführende Links ===== |
* Sehr zu empfehlen ist das [[https://www.mikrocontroller.net/articles/AVR-GCC-Tutorial| AVR-C-Tutorial]] auf mikrocontroller.net | |
* There is also a nice introduction into C programming on the AVR plattform with [[https://www.youtube.com/watch?v=UMi6lg563BA&index=3&list=PLtQdQmNK_0DRhBWYZ32BEILOykXLpJ8tP|multiple videos from ATMEL]] | |
* Eine schöne Einführung in die Embedded Softwareentwicklung ist im Buch [[https://link.springer.com/content/pdf/10.1007%2F978-3-658-18386-8.pdf|Sensornetzwerke in Theorie und Praxis - Embedded Systems-Projekte erfolgreich realisieren]] von Kollegen Meroth und Sora zu finden. Dort wird der Einstieg in das Feld die (in Hardware) eingebettete Softwareentwicklung erklärt. Aus dem Hochschulnetz bzw. mit VPN können Sie dieses direkt bei Springer Link betrachten. Eine andere schöne Einführung findet sich auf [[https://www.mikrocontroller.net/articles/AVR-GCC-Tutorial|Mikrocontroller.net]]. | |
* [[https://www-user.tu-chemnitz.de/~heha/viewchm.php/hs/ATmegaX8.chm/|deutsche Übersetzung der ATmega88 Anleitung]] | |
* [[http://www.8bit-era.cz/arduino-timer-interrupts-calculator.html|Rechner für Interrupt Timer und PreScaler]] | |
| |
=== C Programmierung === | === C Programmierung === |
* schönes Online [[https://de.wikibooks.org/wiki/C-Programmierung|Open Source Buch]] zum Erlernen der Programmiersprache C | * schönes Online [[https://de.wikibooks.org/wiki/C-Programmierung|Open Source Buch]] zum Erlernen der Programmiersprache C |
* [[https://www.math.brown.edu/~jhs/ReferenceCards/CRefCard.v2.2.pdf|C Code Referenz Card]] ("C Cheatsheet") | * [[https://www.math.brown.edu/~jhs/ReferenceCards/CRefCard.v2.2.pdf|C Code Referenz Card]] ("C Cheatsheet") |
| |
| === Embedded Systems Engineering und Hardware/Software Co-Design=== |
| * [[https://www.in.tu-clausthal.de/uploads/media/Embedded_Systems_Engineering_Handbuch_V0_61a.pdf| Handbuch Embedded Systems Engineering]] der TU Clausthal / FH Nordhausen: Sehr ausführliches und tiefgehendes Buch |
| * Auch das Buch [[https://sourceforge.net/projects/qpc/files/doc/PSiCC2.pdf/download|Practical UML Statecharts in C/C++, 2nd Edition: Event-Driven Programming for Embedded Systems]] eignet sich als ausführliches Nachschlagewerk \\ [[http://sourceforge.net/projects/qpc/files/doc/PSiCC2-CN.pdf/download|中国語の翻訳]] |
| |
=== sonstiges === | === sonstiges === |
* [[https://de.wikipedia.org/wiki/American_Standard_Code_for_Information_Interchange#Zusammensetzung|Tabelle der ASCII Zeichen]] | * [[https://de.wikipedia.org/wiki/American_Standard_Code_for_Information_Interchange#Zusammensetzung|Tabelle der ASCII Zeichen]] |
* [[https://www.mikrocontroller.net/attachment/74100/Bauanleitung_AVR-USB-PROGI.pdf|Bauanleitung des Mexle AVR-Proggis]] | * [[https://www.mikrocontroller.net/attachment/74100/Bauanleitung_AVR-USB-PROGI.pdf|Bauanleitung des Mexle AVR-Proggis]] |