DW EditSeite anzeigenÄltere VersionenLinks hierherAlles aus-/einklappenNach oben Diese Seite ist nicht editierbar. Sie können den Quelltext sehen, jedoch nicht verändern. Kontaktieren Sie den Administrator, wenn Sie glauben, dass hier ein Fehler vorliegt. CKG Editor ====== Mikrocontroller-Technik ====== <WRAP right> {{::codeoflife.jpg?200|}} \\ <fs 70%>Source: eigenes Foto ([[https://creativecommons.org/publicdomain/zero/1.0/deed.en|CC0 1.0]])</fs> </WRAP> 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 Veranstaltung ist mit dem EST Labor kombiniert. Details zum Ablauf finden Sie beim [[elektronische_schaltungstechnik_labor|EST Labor]]. ++++ 1. Hello Blinking World |===== 1. Hello Blinking World ===== <WRAP group> <WRAP half column> ==== Ziele ==== Nach dieser Lektion sollten Sie: - x </WRAP> <WRAP half column> ==== Video ==== LED Blinken und Bit-Manipulation {{youtube>2VPM2Q0JtxI}} </WRAP> </WRAP> ++++ ++++ 5. I2C Schnittstelle |===== 1. I2C Schnittstelle ===== <WRAP group> <WRAP half column> ==== Ziele ==== Nach dieser Lektion sollten Sie: - x </WRAP> <WRAP half column> </WRAP> </WRAP> ==== Beschreibung ==== === Statemachine der I2C Kommunikation === <uml> keine_Kommunikation : - Datenausgabe1 : Datenbit = 1 Datenausgabe0 : Datenbit = 0 [*] --> keine_Kommunikation keine_Kommunikation -> keine_Kommunikation : !SCL || !SDA keine_Kommunikation --> Warten_auf_Clock_Lo : SCL && SDA Warten_auf_Clock_Lo -> Warten_auf_Clock_Lo : !SCL || SDA Warten_auf_Clock_Lo --> Bits_lesen_aktiv : SCL && !SDA Bits_lesen_aktiv -> Bits_lesen_aktiv : SCL Bits_lesen_aktiv --> Warten_auf_Clock_Hi : !SCL Warten_auf_Clock_Hi -> Warten_auf_Clock_Hi : !SCL Warten_auf_Clock_Hi --> Datenausgabe0 : SCL && !SDA Datenausgabe0 -> Datenausgabe0 : SCL && !SDA Datenausgabe0 --> Bits_lesen_aktiv : !SCL Datenausgabe0 --> keine_Kommunikation : SDA Warten_auf_Clock_Hi -> Datenausgabe1 : SCL && SDA Datenausgabe1 ---> Datenausgabe1 : SCL && SDA Datenausgabe1 --> Warten_auf_Clock_Hi : !SCL Datenausgabe1 --> Bits_lesen_aktiv : !SDA </uml> === Zeitverlaufsdiagramm === <wavedrom> {signal: [ {name: 'SDA', wave: '10444444453104|43101', node: '.a.................d', data: ['A6', 'A5', 'A4', 'A3', 'A2', 'A1', 'A0', 'R/W', 'ACK', 'D7 . . . . D1', 'D0', 'ACK'], phase: -0.6 }, {name: 'SCL', wave: '1.0p........l.p|..l1', node: '..b................c' }, ]} </wavedrom> ++++ ++++ 6. SPI-Schnittstelle |===== 6. SPI-Schnittstelle ===== <WRAP group> <WRAP half column> ==== Ziele ==== Nach dieser Lektion sollten Sie: - wissen, welche wie man theoretisch mehrere Slaves mit einem Master verbindet. - die Namen der 4 Leitungen und deren Funktionen kennen, welche jeweils an einem Slave enden. - die Abkürzungen SDI, SDO, MOSI, MISO, CS, SS, SCK kennen - die Vorteile von einer synchronen im Vergleich zu einer asynchronen Schnittstelle erklären können. </WRAP> <WRAP half column> ==== Video ==== Theorie zum SPI {{youtube>7uDo_Du5d9g}} Beispiel für SPI mittels Arduino {{youtube>dmpgx7F-VlI}} </WRAP> </WRAP> ++++ ===== Links ===== * [[AVR Programmierung für Dummies]] * schönes Online [[https://de.wikibooks.org/wiki/C-Programmierung|Open Source Buch]] zum Erlernen der Programmiersprache C * Eine deutsche Einführung in die Programmierung von AVR-Chips in C ist auf [[https://www.mikrocontroller.net/articles/AVR-GCC-Tutorial|mikrocontroller.net]] zu finden * [[https://www-user.tu-chemnitz.de/~heha/viewchm.php/hs/ATmegaX8.chm/|deutsche Übersetzung der ATmega88 Anleitung]] * [[https://de.wikipedia.org/wiki/American_Standard_Code_for_Information_Interchange#Zusammensetzung|Tabelle der ASCII Zeichen]] * [[http://www.8bit-era.cz/arduino-timer-interrupts-calculator.html|Rechner für Interrupt Timer und PreScaler]] * [[Atmel Studio Tipps]] * [[https://www.mikrocontroller.net/attachment/74100/Bauanleitung_AVR-USB-PROGI.pdf|Bauanleitung des Mexle AVR-Proggis]]