Nicht angemeldet. · Kennwort vergessen · Registrieren

Dr. House
Mitglied seit 12/2011
6 Beiträge
Betreff: Aufgabe 2 08/11
Stimmt diese main so?:

static uint8_t  t = 0; global davor
und event auch global = 0 davor
init();

  1. while(1){
  2. while(!event){
  3.     t = (poti_read()/128)+1; // 1023/128=7,... also 7, +1 macht, dass es sich immer im Bereich 1-8 bewegt?
  4.     PORTB = 0xff<<t; da bin ich mir unsicher: es müssten doch dann t nuller von rechts nachkommen?
  5. }
  6. event = 0;
  7. while(t>0){
  8.     PORTB = 0xff<<t;
  9.     wait();
  10.     t--;
  11.     if(event){
  12.        break;
  13.     }
  14. }
  15. if(event == 0){
  16.     PORTB = 0x55;
  17.     wait();
  18.     PORTB = ~(0x55);
  19.     wait();
  20. }
  21. event = 0;
  22. sleep_enable();
  23. cli();
  24. while(!event){
  25. sei();
  26. sleep_cpu();
  27. cli();
  28. }
  29. sei();
  30. sleep_disable();
  31. event = 0;
  32. }

Danke
Dieser Beitrag wurde 4 mal verändert, zuletzt am 26.07.2012, 10:53 von Dr. House.
il66ifix
Mitglied seit 05/2011
110 Beiträge
0xff<<t schiebt tatsächlich Nullen nach
t = poti_read(void):1024;  das void sollte da nicht stehen, poti_read() ist richtig!!

ergänz deinen Beitrag mal um ein paar Einrückungen, dann schauen wir weiter
Dr. House
Mitglied seit 12/2011
6 Beiträge
jetzt?
crypton
Mitglied seit 10/2011
2 Beiträge
t = poti_read()/1024;
poti_read() gibt dir einen 10bit Wert zurueck (also 0-1023). Ueberleg nochmal, ob dann / 1024 genau des liefert, was du willst.
if(event = 0)
Vorsicht, willst du hier der Variablen event wirklich 0 zuweisen?
Ansonsten fehlt glaub ich noch deine Schlafphase.
Verbesser des mal, und schreib dazu, ob dus verstehst, aber dann siehts denk ich ned so schlecht aus :)
morty
SPiC-Meister
(Moderator)
Mitglied seit 05/2011
331 Beiträge
ACh ja und den Code am Besten nocht in [code=c] ... [/code] einfassen, dann kann man auf Zeilennummern verweisen.
Schließen Kleiner – Größer + Auf diesen Beitrag antworten:
Prüfcode: VeriCode Gib bitte das Wort aus dem Bild ins folgende Textfeld ein. (Nur die Buchstaben eingeben, Kleinschreibung ist in Ordnung.)
Smileys: :-) ;-) :-D :-p :blush: :cool: :rolleyes: :huh: :-/ <_< :-( :'( :#: :scared: 8-( :nuts: :-O :troll:
Weitere Zeichen:
Gehe zu Forum
Powered by the Unclassified NewsBoard software, 20110527-dev, © 2003-8 by Yves Goergen