Nicht angemeldet. · Kennwort vergessen · Registrieren

Femto
Mitglied seit 07/2012
3 Beiträge
Betreff: Oktober 2008 Lauflicht
Hallo,

ich habe mich mal an der Programmieraufgabe versucht, vielleicht könnt ihr ja mal drüber schauen, ob euch irgendwas auffällt.

  1. #include <avr/io.h>
  2. #include <avr/interrupt.h>
  3. #include <avr/sleep.h>
  4. #include <stdint.h>
  5.  
  6. static void init (void);
  7. static void wait (uint16_t interval);
  8. static volatile uint8_t speed = 5;
  9.  
  10. ISR(INT0_vect) {
  11.    if(speed<10) {
  12.       speed++;
  13.       }
  14.    }
  15.  
  16. void main(void) {
  17.  
  18.    init();
  19.    sei();
  20.  
  21.  while(1) {
  22.       uint16_t warten=0;
  23.       while(speed>0) {
  24.          
  25.          for(uint8_t i=0; i<8; i++) {
  26.             PORTA |= (1<<i); // active high, oder?
  27.             warten=speed*1000;
  28.             wait(warten);
  29.             speed--;             
  30.             }
  31.       }
  32.  
  33.    cli();
  34.    while(speed==0) {
  35.       sleep_enable();
  36.       sei();
  37.       sleep_cpu();
  38.       cli();
  39.       sleep_disable();
  40.       }
  41.    sei();
  42.    }
  43. }
  44.  
  45. static void init (void) {
  46.  
  47.    PORTA = 0x00; //sind ja active high oder?
  48.    DDRA = 0xff;
  49.    DDRD &= ~(1<<PD2);
  50.    PORTD |= (1<<PD2);
  51.    GICR |= (1<<INT0);
  52.    MCUCR |= (1<<ISC01);
  53.    MCUCR &= ~(1<<ISC00);
  54.    
  55. }
  56.  
  57. static void wait(uint16_t interval) {
  58.    for(volatile uint16_t i=0; i<interval; i++) {
  59.    }
  60. }
morty
SPiC-Meister
(Moderator)
Mitglied seit 05/2011
331 Beiträge
  • Deine Einrückungen sind komisch.
  • Setzt du PORTA auch irgendwann mal wieder auf low?

Ansonsten fällt mir beim schnellen drüber schauen nichts auf.
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