Nicht angemeldet. · Kennwort vergessen · Registrieren

Seite:  1  2  3  4  5  6  nächste 

Alle Beiträge von Raim (79)

Thema: klausur Juli 2012 Aufgabe 3-c  im Forum: 2. Semester Grundlagen der systemnahen Programmierung in C
Raim
GSPiC-Guru
Mitglied seit 05/2011
79 Beiträge
Das struct besteht aus zwei Variablen x und y mit jeweils 8 Bit (1 Byte). Damit belegt eine Variable vom Typ struct vect 2 Byte im Speicher. Das Array enthält 3 Elemente dieses Typs. In die Zeichnung soll also eingetragen werden, dass jeweils x und y hintereinander mit jeweils 1 Byte im Speicher liegen.

Der Zeiger pos wird mit &coords[1] initialisiert, zeigt also auf coords[1].x. Also auf das "zweite" Element im Array, da die Nummerierung des Index bei 0 beginnt. Nun wird die Operation pos++; durchgeführt, was in dieser Kurzschreibweise pos = pos + 1; entspricht. Bei der Arithmetik mit Zeigern muss man beachten, dass dabei immer mit der Größe des Typs auf den gezeigt wird gerechnet wird. In diesem Fall wird der Pointer wie oben beschrieben also um 2 Byte erhöht und zeigt dann auf coords[2] bzw. genauer auf coords[2].x.

                1 Byte
            ´-------------`
            | coords[0].x |
            | coords[0].y |
pos ----->  | coords[1].x |
 |          | coords[1].y |
 `------->  | coords[2].x |
     ++     | coords[2].y |
            | -           |
            | -           |
            `-------------´
Thema: klausur Juli 2012 Aufgabe 3-c  im Forum: 2. Semester Grundlagen der systemnahen Programmierung in C
Raim
GSPiC-Guru
Mitglied seit 05/2011
79 Beiträge
Antwort auf Beitrag ID 7738
Was hast du dir denn dazu bisher denn schon für Gedanken gemacht? Welche Größe belegt denn das struct im Speicher? Was bedeutet die Operation ++ auf einem Pointer?
Thema: SPiCsim macht Probleme  im Forum: 2. Semester Grundlagen der systemnahen Programmierung in C
Raim
GSPiC-Guru
Mitglied seit 05/2011
79 Beiträge
Antwort auf Beitrag ID 7707
Hast du es mit der richtigen libspicboard (SS17) gelinkt?
Thema: 7 Segment Anzeige Richtig implementieren  im Forum: 2. Semester Grundlagen der systemnahen Programmierung in C
Raim
GSPiC-Guru
Mitglied seit 05/2011
79 Beiträge
Antwort auf Beitrag ID 7703
Um die 7-Segmentanzeige benutzen zu können, müssen Interrupts freigeschaltet werden (was das ist, kommt später in der Vorlesung noch).

Verwende zum Freigeben der Interrupts die Funktion sei() in deiner main():
  1. #include <avr/interrupt.h>
  2.  
  3. void main(void) {
  4.     sei();
  5.  
  6.     ...
  7. }
Thema: Error: "Please select a connected tool and interface and try again"  im Forum: 2. Semester Grundlagen der systemnahen Programmierung in C
Raim
GSPiC-Guru
Mitglied seit 05/2011
79 Beiträge
Antwort auf Beitrag ID 7700
Hast du denn ein Xplained Mini angeschlossen? In den Einstellungen dort kannst du das nur das auswählen, was auch verfügbar ist.

Ich vermute, du hast eine der Optionen zum Starten mit dem Debugger auf dem Gerät ausgewählt, anstatt nur über das Menü "Build" zu kompilieren.
Thema: juli 2009!  im Forum: 2. Semester Grundlagen der systemnahen Programmierung in C
Raim
GSPiC-Guru
Mitglied seit 05/2011
79 Beiträge
Antwort auf Beitrag ID 7554
Zeiger auf Funktionen, 13–19 ff. in den Folien.
Thema: juli 2009!  im Forum: 2. Semester Grundlagen der systemnahen Programmierung in C
Raim
GSPiC-Guru
Mitglied seit 05/2011
79 Beiträge
Antwort auf Beitrag ID 7552
Richtig. Je weiter ihr zurückgeht, desto mehr kann sich der Stoff seitdem schon geändert haben.
Thema: ERROR "ISO C forbids an empty translation unit"  im Forum: 2. Semester Grundlagen der systemnahen Programmierung in C
Raim
GSPiC-Guru
Mitglied seit 05/2011
79 Beiträge
Antwort auf Beitrag ID 7490
Die C-Datei darf nicht vollständig leer sein. Am einfachsten fügst du das #if 0 erst nach den #include-Anweisungen ein.
Thema: recipe for target 'snake.o' failed - Error  im Forum: 2. Semester Grundlagen der systemnahen Programmierung in C
Raim
GSPiC-Guru
Mitglied seit 05/2011
79 Beiträge
Antwort auf Beitrag ID 7480
Siehe auch diesen Thread mit demselben Problem.

Edit: Link gefixt.
Dieser Beitrag wurde am 04.05.2016, 17:40 von Raim verändert.
Thema: recipe for target 'snake.o' failed - Error  im Forum: 2. Semester Grundlagen der systemnahen Programmierung in C
Raim
GSPiC-Guru
Mitglied seit 05/2011
79 Beiträge
Antwort auf Beitrag ID 7477
Diese Fehlermeldung sagt erstmal nur, dass beim Kompilieren von snake.c irgendetwas schief ging. Der tatsächlich Fehler sollte dann auch weiter oben im Error Log stehen.
Thema: Frage nach aufgabe2  im Forum: 2. Semester Grundlagen der systemnahen Programmierung in C
Raim
GSPiC-Guru
Mitglied seit 05/2011
79 Beiträge
Antwort auf Beitrag ID 7474
In deinem ersten Beispiel sehe ich nur eine LED oder drei LEDs. Wie soll das die Länge 5 darstellen? Es sind immer 8 LEDs, die Länge gibt an, wie viele davon leuchten.

Dass eine Richtungsänderung nötig ist, wird nicht in drawSnake() festgestellt, denn diese Funktion ist nur für die Darstellung eines Schritts der Schlange zuständig. Die Flankenerkennung befindet sich in der Funktion wait_key(), die geeignet zurückgibt, ob die Richtung geändert werden soll.
Dieser Beitrag wurde am 29.04.2016, 23:59 von Raim verändert.
Thema: Frage nach aufgabe2  im Forum: 2. Semester Grundlagen der systemnahen Programmierung in C
Raim
GSPiC-Guru
Mitglied seit 05/2011
79 Beiträge
Antwort auf Beitrag ID 7472
Mit Kopf und die Länge kannst du dir den Schwanz (= neuer Kopf) berechnen.

Das periodische Abfragen des Tasters erfolgt nur während des Wartens.
Thema: GSPIC  im Forum: 2. Semester Grundlagen der systemnahen Programmierung in C
Raim
GSPiC-Guru
Mitglied seit 05/2011
79 Beiträge
Antwort auf Beitrag ID 7459
Die Lötabende sind diese Woche, aber nicht verpflichtend für die Teilnahme an der Veranstaltung. Die ersten Übungen finden diese Woche statt. Einsteigen geht noch, schreib dazu bitte eine Mail, in welche Gruppe du gehen könntest.

Alles Weitere findest du auch auf der Website, insbesondere sollltest du dann auch die Foliensätze der ersten Vorlesungen durcharbeiten:
https://www4.cs.fau.de/Lehre/SS16/V_GSPIC/
Thema: PC Account CIP Pool  im Forum: 2. Semester Grundlagen der systemnahen Programmierung in C
Raim
GSPiC-Guru
Mitglied seit 05/2011
79 Beiträge
Antwort auf Beitrag ID 7315
Im Wintersemester gibt es keine Vorlesung, nur die Übungen. Du brauchst einen Account in den Informatik-CIP-Pools, den du dir bei den CIP-Admins holen kannst.

Danach musst du zusätzlich noch im CIP-Pool unter Linux einmalig den Befehl cip-set-windows-password ausführen, um ein zusätzliches Passwort für die Windows-Rechner zu setzen.
Thema: MC Fragen  im Forum: 2. Semester Grundlagen der systemnahen Programmierung in C
Raim
GSPiC-Guru
Mitglied seit 05/2011
79 Beiträge
Antwort auf Beitrag ID 7231
Zitat von killermiller:
1a) Die zweite ist richtig, allerdings können Zeiger unterschiedlich groß sein, je nach Architektur. Also z.B. auf einem AVR-Mikrcontroller und auf einem x86-PC unterschiedlich groß, auf einem AVR aber immer gleich groß. Nur bin ich mir nicht sicher, dass es 4 Byte sind. Eigentlich bin ich mir fast sicher, dass es nicht 4 Byte sind, eher weniger.

Der AVR addressiert den RAM mit 16-Bit (maximal 64 KiB), dementsprechend sind Zeiger 2 Byte groß.
Schließen Kleiner – Größer + Auf diesen Beitrag antworten:
Weitere Zeichen:
Seite:  1  2  3  4  5  6  nächste 
Gehe zu Forum
Powered by the Unclassified NewsBoard software, 20110527-dev, © 2003-8 by Yves Goergen