- 12V Akku mit 280 Ah bauen         
Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 14 von 14

Thema: Multitasking Betriebssystem uSmartX

  1. #11
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    14.02.2006
    Ort
    Scheeßel
    Alter
    43
    Beiträge
    233
    Anzeige

    Praxistest und DIY Projekte
    Ich hab uSmartX mal getestet bei mir über 'n STK500 mit einem ATmega32. Das STK500 hab ich mit einem 8MHz Quarz bestückt und OSCSEL entsprechend umgesteckt. Eigentlich müsste der AVR jetzt ja mit 8MHz getaktet werden. Aber das Beispielprogramm timer.c des uSmartX Projekts läuft immer noch viel zu langsam. Wenn ich das richtig verstanden habe, soll es so wie es ist in einer Sekunde die 1. LED0 des entsprechenden Ports (habe PORTB genommen, statt PORTF in Ermangelung desselbigen im ATmega32) einmal an und wieder ausschalten, korrekt? Also im 500ms Takt blinken. Richtig? Tut's aber nicht. Blinkt eher im 2 Sekunden Takt...

    Kann mir einer verraten, woran das liegt?

    Danke
    Gruß,
    Hendrik


    Hmm... wenn ich den Wert OSC0 auf 8 setze (vom Source her steht der auf 125), dann stimmt das nach meinem Zeitempfinden ziemlich genau...

    Ich hab ein beschissenes Zeitempfinden... also der Wert stimmt irgendwo zwischen 6 und 7. 6 ist zu schnell, 7 zu langsam...

    Wo liegt hier die Ursache dieses Problems?

  2. #12
    Neuer Benutzer Öfters hier
    Registriert seit
    08.03.2005
    Beiträge
    17
    Hmmm... Spontan fällt mir Folgendes ein:

    FueseBits Richtig Gesetzt? --> Externer Quarz o.ä. --> DatenblattMega32! Aber VORSICHT beim ändern, siehe in irgendeinem Tutorial...
    Prescaler des Timers Richtig gesetzt? Das kann bei jedem Prozessor andest sein --> Datenblatt Mega32!
    Timer-Mode Richtig gesetzt? Nicht Normal-Mode sondern bei Auslösen des Interrupts wieder bei Null Starten (CTC???) -- Datenblatt!
    Timer Vergleichswet entsprechend Prescaler gesetzt ???

  3. #13
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    14.02.2006
    Ort
    Scheeßel
    Alter
    43
    Beiträge
    233
    So viel Plan hab ich von den ATs noch nicht... Was FuseBits sind, weiß ich schon, aber noch nicht, wie man die setzen muss, wenn man einen externen Quarz im STK500 dran hat... ich lerne noch.

  4. #14
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    22.05.2005
    Ort
    Stuttgart
    Beiträge
    260
    Hio.
    Ich hab das ganze nochmal aufgegriffen und auch zum Laufen gebracht .

    Jetzt hab ich aber ein Problem festgestellt: Ich kann ja den µC blockieren, wenn ich in einem der Threads ne Endlosschleife oder so rein bau! Ich hab folgenden Code:
    Code:
    // Receive
    while (!(UCSRA & (1 << RXC)))
        ;
    
    // Return data
    return UDR;
    Mach ich irgendwas falsch? Unter Java ist das nämlich nicht so. Liegt das vielleicht daran, dass uSmartX ein non-preemtive multitasking system ist?

    Gruß
    Lutz

Seite 2 von 2 ErsteErste 12

Berechtigungen

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

12V Akku bauen