Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
microcontrollertechnik:start [2024/09/19 00:50] – [Ablauf im Semester] mexleadminmicrocontrollertechnik:start [2026/03/08 21:59] (current) mexleadmin
Line 1: Line 1:
-====== Mikrocontroller-Technik ======+====== Microcontroller Programming ======
  
-===== Einführung und Einordnung =====+===== Introduction and Context =====
  
 <WRAP right> <WRAP right>
-{{::codeoflife.jpg?200|}} +{{codeoflife.jpg?200|}} 
-\\ <fs 70%>Source: eigenes Foto ([[https://creativecommons.org/publicdomain/zero/1.0/deed.en|CC0 1.0]])</fs>+\\ <fs 70%>Source: own photo ([[https://creativecommons.org/publicdomain/zero/1.0/deed.en|CC0 1.0]])</fs>
 </WRAP> </WRAP>
  
-Die Mikrocontroller-Technik befasst sich damit, wie man einem programmierbaren Bauteil ("Mikrocontroller"Leben einhauchtDabei wird die Software im Folgenden in der Programmiersprache programmiertIm 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.  +Microcontroller technology deals with how to bring a programmable component ("microcontroller"to lifeIn the following, the software is programmed in the programming languageIn contrast to the language components and algorithms presented in the Computer Science course in the 1st and 2nd semester, the focus here is on the special characteristics resulting from the close connection to hardware
-Es wird auf die Kenntnisse folgender Fächer zurückgegriffen:+The course builds on knowledge from the following subjects:
  
-  * Informatik I und II+  * Computer Science I and II (Informatik I und II)
  
-**Wichtig:**+**Important:**
  
-  * Bleiben Sie mit uns in KontaktTrotzdem es zeitweise Wochen mit eigenständigen Bearbeitung gibtist der Austausch wichtig, damit zu den jeweiligen Abgaben ein sinnvolles Ergebnis abgeliefert wird+  * Stay in contact with usEven though there may be weeks of independent workcommunication is important so that a meaningful result can be submitted for the respective deadlines
-  * Suche Sie den Austausch mit den anderen StudierendenMeistens haben Sie die Lösungzum Problem eines anderen und umgekehrt+  * Exchange ideas with the other studentsIn most casesyou have the solution to someone else's problem, and vice versa
-  * Wenn Sie erst eine Woche vor der Abgabe mit dem Programmieren beginnenwird es in der Regel engBesonders, wenn es Unklarheiten und Nachfragen gibtBeginnen Sie frühzeitig+  * If you only start programming one week before the submission deadlinethings will usually get tightEspecially if there are uncertainties and questionsStart early
-  * Versuchen Sie Spaß am Programmieren zu findenEs ist wie Puzzelnnur dass Sie selbst das Bild bestimmen!+  * Try to find enjoyment in programmingIt is like doing a puzzleexcept that you decide what the picture looks like!
  
 ~~PAGEBREAK~~ ~~CLEARFIX~~ ~~PAGEBREAK~~ ~~CLEARFIX~~
  
-===== Ablauf im Semester ===== 
  
-Der Kurs ist im Semester in verschiedene Schritte aufgeteilt:+===== Links to the Lecture =====
  
-{{drawio>microcontrollertechnik:AblaufMicrocontroller.svg}}+^ Topic ^ Description ^ Language ^ 
 +| Tutorial | A good introduction to embedded software development can be found in the book "Sensor Networks in Theory and Practice - Successfully Realizing Embedded Systems Projects" by Prof. Meroth and Mr. Sora. It explains how to get started in the field of software development embedded in hardware. From within the university network or via VPN, you can access it directly on [[https://link.springer.com/book/10.1007/978-3-658-31709-6|Springer Link]]. |German| 
 +|:::| The above-mentioned book is also available in English as "Sensor Networks in Theory and Practice". It is the accompanying book by Prof. Meroth and Mr. Sora. It explains how to get started in the field of embedded software development for hardware systems. From the university network or via VPN, you can access it directly on [[https://link.springer.com/content/pdf/10.1007/978-3-658-39576-6.pdf|Springer Link]].|English| 
 +| Tutorial | Recommended tutorial from [[https://www.mikrocontroller.net/articles/AVR-GCC-Tutorial|mikrocontroller.net]] |German| 
 +| Tutorial | The AVR itself also provides a good introduction to C programming on the AVR platform as a [[https://www.youtube.com/watch?v=UMi6lg563BA&index=3&list=PLtQdQmNK_0DRhBWYZ32BEILOykXLpJ8tP|video]] and as [[https://developerhelp.microchip.com/xwiki/bin/view/products/mcu-mpu/8-bit-avr/|textual Developer Help]] |English| 
 +| Datasheet | The [[https://ww1.microchip.com/downloads/en/DeviceDoc/ATmega48_88_168_megaAVR-Data-Sheet-40002074.pdf|data sheet]] of the ATmega88 is also a good reference work |English| 
 +| Datasheet | The data sheet of the ATmega88 has also been translated into German: [[https://www-user.tu-chemnitz.de/~heha/viewchm.php/hs/ATmegaX8.chm/|Online data sheet ATmega88]] |English| 
 +| C Support | A [[http://www.8bit-era.cz/arduino-timer-interrupts-calculator.html|calculator for interrupt timers and prescalers]] |English| 
 +| C Support | [[https://www.nongnu.org/avr-libc/user-manual/modules.html|Documentation of the AVR compiler libraries]] (e.gstdlib) |English|
  
-^^Semester-\\ woche^Titel^Beschreibung^ 
-|SW1| **Kickoff in der ersten Woche** | hier werden die Details zum Kurs durchgegangen und die Vorbereitungen besprochen. | 
-|SW1| **erste Übung** | Bereits in der ersten Woche werden erste "Gehversuche" in der Entwicklungsumgebung umgesetzt um die Software und Hardware zu testen.  | 
-|SW2 - SW10 | **Geführte Entwicklung von Code** | Dies ist aufgeteilt in \\ - Montags: Einführung in die Themen durch Tim Fischer mit Schwerpunkt auf die Theorie \\ - Donnerstags: praktische Arbeit an der Hardware durch Tim Fischer, Petre Sora (ASE) und Ralf Ziegler (MR) | 
-|SW11 - SW15| **eigenständige Arbeit** | Hier sind Sie am Start und müssen vorgegebene Projekte bearbeiten \\ Montags und Donnerstags: Mentorings mit Tim Fischer, Petre Sora (ASE) und Ralf Ziegler (MR)| 
-|SW15 |**Abgabe des Codes und der Doku**| Die Inhalte müssen bis 17.01.2024 hochgeladen sein. | 
-|im Prüfungs-zeitraum |**schriftliche Prüfung**| Eine Beispielklausur ist in ILIAS zu finden | 
  
 +===== Further Links =====
  
-===== Abgabe ===== +=== C Programming === 
-  * Zur Abgabe der Softwarekomponenten: +  * Nice online [[https://de.wikibooks.org/wiki/C-Programmierung|open source book]] for learning the C programming language 
-    * Bitte geben Sie folgenden Komponenten ab: +  * [[https://www.math.brown.edu/~jhs/ReferenceCards/CRefCard.v2.2.pdf|C Code Reference Card]] ("C cheatsheet")
-      * Projektordner aus Microchip Studio  +
-      * Eine Simulide Datei +
-    * Bitte entfernen Sie nicht notwendige Files, d.hlassen Sie alte, nicht eingebundene Files und alte Versionen weg, sofern Sie solche angelegt haben +
-    * Die Abgabe erfolgt per redmine +
-  * Zur Abgabe der Präsentation  +
-    * 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 +
-    * Gerne können Sie auch Ihr Video per digitale (sozialeMedien 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 zur Vorlesung =====+=== Embedded Systems Engineering and Hardware/Software Co-Design === 
 +  * [[https://www.ifi.tu-clausthal.de/fileadmin/IFI/Abteilungen/Energieinformationsnetze_und_Systeme/Embedded_Systems_Engineering_Handbuch_V0_61a.pdf|Embedded Systems Engineering Handbook]] from TU Clausthal / FH Nordhausen: very detailed and in-depth book 
 +  * The book [[https://sourceforge.net/projects/qpc/files/doc/PSiCC2.pdf/download|Practical UML Statecharts in C/C++, 2nd Edition: Event-Driven Programming for Embedded Systems]] is also suitable as a detailed reference work \\ [[http://sourceforge.net/projects/qpc/files/doc/PSiCC2-CN.pdf/download|Chinese translation]]
  
-^Thema^Beschreibung^Sprache^ +=== Miscellaneous === 
-|Tutorial|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.|Deutsch| +  * [[https://de.wikipedia.org/wiki/American_Standard_Code_for_Information_Interchange#Zusammensetzung|Table of ASCII characters]] 
-|Tutorial|Empfehlenswertes Tutorial von [[https://www.mikrocontroller.net/articles/AVR-GCC-Tutorial| mikrocontroller.net]]|Deutsch| +  * [[https://www.mikrocontroller.net/attachment/74100/Bauanleitung_AVR-USB-PROGI.pdf|Assembly instructions for the Mexle AVR programmer]]
-|Tutorial|Also the AVR itself has a nice introduction into C programming on the AVR plattform 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| +
-|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| +
-|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| +
-|C-Support| Ein [[http://www.8bit-era.cz/arduino-timer-interrupts-calculator.html|Rechner für Interrupt Timer und PreScaler]] |English| +
-|C-Support|[[https://www.nongnu.org/avr-libc/user-manual/modules.html|Dokumentation der AVR Compilerbibliotheken]] (z.B. stdlib) |English| +
- +
- +
-===== weiterführende Links ===== +
- +
-=== C Programmierung === +
-  * 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"+
- +
-=== 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 === +
-  * [[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]]+