Hallo, ich hoffe jemand kann mir helfen, folgende Problemstellung:
Schreiben Sie ein Programm, das eine zufällige 8-stellige
Zahlenkombination auf den LEDs
anzeigt (es soll immer nur ein LED leuchten). Danach soll der Benutzer
das Muster mit den
Buttons nachdrücken. Ist das Muster korrekt, soll „Night Rider“ aus der
letzten Hausübung
angezeigt werden und das Programm ist beendet. Ist eine Zahl falsch,
soll das Muster noch
einmal abgespielt werden und der Benutzer erhält einen neuen Versuch
(muss aber wieder
ganz vorne beginnen). Verwenden Sie keine Interrupts.
Bin Anfänger!, Wir verwenden AtMega16
Habe die Sache mit AVR-Studio simulieren versucht leider vergebens...
Vielen Dank für Unterstüzung im Voraus...(Verzweifele schon ahh.)
1
/*
2
* Created: 13.01.2012 20:44:45
3
*/
4
5
#include<avr/io.h>
6
#include<util/delay.h>
7
#include<stdlib.h>
8
9
intmain(void){
10
11
intled[8];//8 LED's sollen mit Zufallszahlen angezeigt werden.
Danke für die "Hilfe" ! Ich möchte keine ewigen Diskussionen losstarten.
Die Hausübung habe ich, so glaube ich, als ANFÄNGER gelöst zu haben.
Da ich keine Mikrokontroller zu Verfügung habe, kann ich sie nicht
überprüfen.
Ich glaube ich habe nirgends geschrieben das ich von jemanden eine
Lösung verlange oder ?
Der nächste bitte....
Turan Solmaz schrieb:> led[i] = (uint8_t)((double)rand()/((double)RAND_MAX+1)*8); //generieren von
Zufallszahlen bis 8
Du wirst immer wieder die selben Zufallszahlen haben[1].
[1]Zufallszahlen
Gruß Oliver
Turan Solmaz schrieb:> Die Hausübung habe ich, so glaube ich, als ANFÄNGER gelöst zu haben.> Da ich keine Mikrokontroller zu Verfügung habe, kann ich sie nicht> überprüfen.
Im Ernst: du programmierst für einen AVR und hast keinen?
Dein Lehrer/Betreuer will euch die Bitmanipulation beibringen.
Statt die 8 Werte speicherraubend in einem Feld von 8 int Werten
abzuspeichern, kann man die viel platzsparender in 8 Bits unterbringen.
Das verschlingt nur ein Byte statt 8 (8-Bit ints) bzw. 16 (16-Bit ints)
bzw. 32 (32-Bit ints).
Statt 8 rand() Aufrufe kannst du dann auch einen machen und dir gleich
einen Zufallswert zwischen 0 und 255 (=2^8 Werte) geben lassen. Die
einzelnen Bits dieses Werts gibst du dann nacheinander d.h. in einer
Schleife als einzelne leuchtende/dunkle LED aus.
Entsprechend verfährst du mit dem Einlesen der Tastenwerte.
Anschliessend vergleichst du den 8-Bit LED-Zufallswert mit dem 8-Bit
Eingabewert. Keine Schleife notwendig dafür.
> Ich hoffe nach dieser Woche keinen mehr zu> programmieren.
Und das werden dann die Fachleute mit Universitätsabschluss, während die
Praktiker keinen Job mehr finden...
Kurz Auswendig gelernt, Prüfung bestanden und Abschluss in der Tasche,
aber nix wirklich verstanden. Voller Theorie, aber teils Sachen noch nie
gesehen...
Mikrocontroller lernen ohne Gerät, ja wie schräg ist das denn...
kopfschüttel
Marc Mk schrieb:> Und das werden dann die Fachleute mit Universitätsabschluss, während die> Praktiker keinen Job mehr finden...> Kurz Auswendig gelernt, Prüfung bestanden und Abschluss in der Tasche,> aber nix wirklich verstanden. Voller Theorie, aber teils Sachen noch nie> gesehen...> Mikrocontroller lernen ohne Gerät, ja wie schräg ist das denn...> kopfschüttel
1.ich werde kein Fachmann und überhaupt kein Dr. im Bereich der
Mikrokontroller, es ist eher ein Einstieg und "verstehen" dieser "Welt"
!
2.Ich habe großen Respekt wie Macher programmieren kann, was uns den
Alltag erleichtert bzw. sogar ermöglicht, Verständnis habe für Leute
nicht die ihren Gegenüber und die Situation überhaupt nicht kennen und
nicht wissen worum es geht, aber gern Philosoph spielen.
3.Unsere Studiengang ist recht jung und die Mikrocontroller wurden den
Studenten entweder noch nicht vorgeschrieben oder konnten nicht
verliehen werden. Jedenfalls sollte die Überprüfung doch mit dem
AVR-Simulator doch auch möglich sein.
Immer und überall diese Weltverbesserer....Bitte haltet eurer unnötigen
Meldungen zurück wenn ihr nicht helfen wollt...
Danke an Alle die brauchbares gemeldet haben...
kopfschüttel
Hi turan
Auch wenn's nicht zum thema beiträgt, aber das muss ich mal loswerden.
Dies ist ein Forum. Wer hier Hilfe sucht und gleich die Hausaufgabe
reinstellt, muss sich nicht wundern, wenn entsprechende Antworten
kommen. Der Ton, den du teilweise anschlägst, ist nicht gerade
freundlich. Wenn du also meinst, wir warten hier nur darauf, Fragen zu
enträtseln und dann exkt die gewünschte Antwort zu liefern, dann
solltest du dir einen Hauslehrer / Privatlehrer leisten. Der wird dafür
bezahlt, das er exakt die Antworten liefert, die erwünscht sind und dem
darfst du dann auch den Mund verbieten, wenn dir die Antwort nicht
schmeckt.
Ich für meinen Teil werde nicht mehr in die Verlegenheit kommen, unter
einem "Vorgesetzten" ie dir arbeiten zu müssen, oder dich als Kollege
neben mir dulden zu müssen, aber mir tun die Mitmenschen jetzt schon
leid, die sich nicht davor drücken können.....
Sowas wie "der nächste bitte" ist wirklich aussagekräftig, was deine
"Persönlichkeit betrifft und es wundert mich, das du darauf dann auch
auch noch helfende Antworten bekommst. Bei mir edenfalls wäre das
spätestens der Zeitpunkt, dir jede Hilfe zu verweigern. Vielleicht
begreifst du dann, das du derjenige bist, der Hilfe braucht.
Gruß oldmax
oldmax schrieb:> Sowas wie "der nächste bitte" ist wirklich aussagekräftig, was deine> "Persönlichkeit betrifft
Plus: selber nicht vorbereitet, kein Interesse zu lernen sondern nur
Aufgabe abzugeben und eine bessere Note zu bekommen als es den eigenen
Fähigkeiten entspricht, da stellt sich die Frage: was will er mal
werden?
Ich hab da so einen Verdacht, aber ein echter Ing. wird es jedenfalls
nicht.