Jap, hab den ARM in Assembler programmiert

War ja auch die Übung zur Vorlesung Assemblerprogrammierung^^
Man muss aber sagen, dass wir nicht das ganze Programm schreiben mussten (geht in 2 Stunden nicht wirklich), sondern nur einen bestimmten Ausschnitt. Wir bekommen ein fertiges C-Programm, das auf Subroutinen referenziert, die wir direkt in Assembler schreiben.
Bei den anderen Aufgaben (Line Follower und Grabber, letzterer hat farbige Bälle anhand des Lichtsensors erkennen und unterscheiden können) waren es nur kleinere Fragmente, wie Sensorauswertung und Motoransteuerung, bei dem hier mussten wir aber so ziemlich alles bis auf die Aufnahme des Referenzwerts in Assembler geschrieben.
Vor allem if-then-else-Schleifen und so Zeug, das man in Hochsprachen in einer Zeile schreiben kann, sind extrem fies in Assembler, die wurden deshalb meist im C-Programm abgehandelt.
War bei der Vorbereitung auch ziemlich verzweifelt, da ich nicht wusste, wie ich die Integration und Differentiation aus dem PID-Kreis implementieren soll. Wir durften aber stark vereinfachen^^
Die Integration war dann die Addition von jetzigem und vorherigem Sensorwert, multipliziert mit einer Konstante, die Differentiation war die Differenz... Geklappt hats trotzdem

Naja, war ja auch nicht Mess- und Regeltechnik, es ging ja mehr um das Programmieren an sich.
Was passiert wär, wenn die Oberfläche die Farbe gewechselt hat, wär echt interessant gewesen... Ich denk mal, die regelung hätte nicht mehr funktioniert. Schatten von vorbeilaufenden Personen sind egal, da ja neben dem Sensor eine relativ starke LED war.