- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Ergebnis 1 bis 4 von 4

Thema: Einfacher 1 sec- Timer am Asuro läuft nicht ?

  1. #1
    Benutzer Stammmitglied Avatar von Vilem
    Registriert seit
    05.12.2010
    Ort
    bei Bad Kreuznach
    Beiträge
    53

    Einfacher 1 sec- Timer am Asuro läuft nicht ?

    Anzeige

    Powerstation Test
    Hallo,
    der beigefügte Code soll ein einfacher 1sec-Timer (an einem 8 MHz-Asuro) sein, bei dem jede sec eine LED blinkt, aber er funktioniert noch nicht.
    Wer sieht, was falsch am Code ist oder fehlt ??? Vermute, dass der timer nicht läuft ?
    Danke für Hilfe, Gruss Vilem
    Code:
    /***************************************************************************
     *                                                                         *
     *   This program is free software; you can redistribute it and/or modify  *
     *   it under the terms of the GNU General Public License as published by  *
     *   the Free Software Foundation; either version 2 of the License, or     *
     *   any later version.                                                    *
     ***************************************************************************/
                            /*Fcpu = 8 MHz, LED-TIMER 1/sec */
    #include "asuro.h"
    #include <avr/io.h>
    int main(void)
    {
        Init();
     DDRD |= (1 << 0x02); // PD2 als Ausgang
     StatusLED (OFF);
     Msleep (1000);
        PORTD = (1 << 0x02); // PD2 gesetzt (StatusLED rot)
     DDRC |= (0x04);  // Port PC2(=ADC2) als Ausgang = Blink-LED-Anschluss
     
        TCCR1B |= (1 << CS12); // set up timer at Fcpu/256              
     for (;;)
     {
      if (TCNT1 >= 15624) // 
       {PORTC ^= (1 << 0x02);// Toggle die LED
        TCNT1 = 0; //Counter zurücksetzen, 
       }
        }
    return (0);
    }
    *** fail faster to succeed sooner ***

  2. #2
    Neuer Benutzer Öfters hier
    Registriert seit
    23.08.2011
    Beiträge
    27
    hallo vilem,

    hast du die neuste version der asuro-libary installiert?? ältere unterstützen nämlich nicht den befehl Msleep()



    mfg Mattze

  3. #3
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    20.08.2008
    Ort
    Karlsruhe
    Alter
    36
    Beiträge
    1.225
    Glaubst du es ist eine gute Idee, Hardwareressourcen umzukonfigurieren die eigentlich von der Asurolib verwendet werden? Timer1 wird für die Motorsteuerung benötigt! Wenn du eine Bibliothek verwendest, die von der Hardware abstrahiert, und dann aber gleichzeitig noch auf der Hardware arbeiten möchtest, kommst du nicht umhin, dir anzusehen was die Bibliothek tut und nutzt.

    mfG
    Markus
    Tiny ASURO Library: Thread und sf.net Seite

  4. #4
    Benutzer Stammmitglied Avatar von Vilem
    Registriert seit
    05.12.2010
    Ort
    bei Bad Kreuznach
    Beiträge
    53
    Sorry, sorry, Markusj, als Newbie kann ich die asurolib noch nicht so richtig lesen (geschweige denn alles verstehen) und wußte nicht, dass die Motorsteuerung timer1 benutzt. Ich wollte den Asuro lediglich als board benutzen und mal die timer-Funktionen ausprobieren. Das hab' ich jetzt gemacht, in dem ich alles asuro-spezifische im code gelöscht habe und siehe die 1-sec-BlinkLED funktioniert. Den funktionierenden code hänge ich nochmals an, der vielleicht auch andere Neulinge interessiert. Vilem
    Code:
      /*Fcpu = 8 MHz, TIMER = 1/sec, BlinkLED = 1/sec*/
    #include <avr/io.h>
    int main(void)
    {
     DDRD |= (0x04); // PD2 als Ausgang (daran hängt die rote StatusLED) 
     DDRB |= (0x01); //PB0  als Ausgang (daran hängt die grüne StatusLED)
     PORTB &= ~ (0x01); // PB0 nicht gesetzt (grüne StatusLED aus)
        PORTD |= (1 << 2);  // PD2 gesetzt (StatusLED rot an)
     
     DDRC |= (1 << 2);  // Port PC2(=ADC2) als Ausgang
                            //Hardware:BlinkLED-Anode an PC2,Kathode über 560 Ohm an GND 
        TCCR1B |= (1 << CS12); // set up timer at Fcpu/256              
     for (;;)
     {
      if (TCNT1 >= 15624)   // check counter
       {PORTC ^= (1 << 0x02);// toggle die BlinkLED
        TCNT1 = 0;            //counter zurücksetzen, 
       }
        }
    return (0);
    }
    *** fail faster to succeed sooner ***

Ähnliche Themen

  1. Timer0 und UART Lib Fleury Timer läuft nicht mehr los
    Von gesamtplan im Forum C - Programmierung (GCC u.a.)
    Antworten: 3
    Letzter Beitrag: 21.03.2011, 19:23
  2. ASURO-Lib läuft nicht [gelöst]
    Von jawo3 im Forum Asuro
    Antworten: 10
    Letzter Beitrag: 06.10.2007, 15:25
  3. Timer läuft ab dem 2. Mal nicht mehr an
    Von xxrider im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 2
    Letzter Beitrag: 27.07.2007, 06:54
  4. Linker Motor läuft nicht (Asuro)
    Von honkitonk im Forum Asuro
    Antworten: 9
    Letzter Beitrag: 31.08.2005, 21:34
  5. Asuro Motor läuft nicht
    Von X-Fire im Forum Asuro
    Antworten: 0
    Letzter Beitrag: 10.06.2005, 12:33

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

fchao-Sinus-Wechselrichter AliExpress