- LiFePO4 Speicher Test         
Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 13 von 13

Thema: Atmega8 PWM Signal auslesen...

  1. #11
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    22.12.2004
    Alter
    71
    Beiträge
    277
    Anzeige

    E-Bike
    Hallo Torsten,

    Zitat Zitat von Torsten_G
    Danke, Bruno und Henrik, wenn´s gar ein Wort ist, sind 31 Steps/Richtung tatsächlich eher mau...
    ich meinte eigentlich eher, daß Du wenn Du eine Bytevariable benutzt, Dir das MSByte flöten geht und Du nur den kümmerlichen Rest im LSByte auswertest/liest. Beim Nachdenken kommt mir das aber auch spansch vor. Eine Millisekunde hat ja nun mal "nur" 1000 Micosekunden, also solltest Du Du bei einem Raster von 10µS Einen Wert zwischen 100 und 200 ehalten. Liegt das Raster jedoch z.B. bei 5µS (wegen höheren Taktes), sprengt das schon den Rahmen eines Byte und Du würdest dann teilweise wirklich nur den kümmerlichen Rest auslesen.

    Edit: Ne, das Word musst Du Dir nicht selbstricken. Einfach statt Byte Word dimensionieren.

    Viele Grüße
    Henrik

  2. #12
    Erfahrener Benutzer Fleißiges Mitglied Avatar von DIYLAB
    Registriert seit
    31.10.2004
    Ort
    Berlin
    Beiträge
    156
    Nö, auch wenn das im Hilfebeispiel als Byte dimensioniert wird. Pulsein liefert ein Word
    Habe in meinem PPM-Proggi auch die Variable als Word deklariert
    Wobei ich gerade sehe, dass ich in anderen Projekten durchaus auch Byte verwende und es geht.

    Hier nochmal ein Auszug ohne die Display-Ausgabe:
    Code:
    '*******************************************************************************
    '* PPM-PLUS 10MHz Quarz, B.Pisarek, V 1.01, 04. November 2005                  *
    '*******************************************************************************
    
    
    '===============================================================================
    ' Compiler Direktiven
    '===============================================================================
     $regfile = "attiny2313.dat"
     $crystal = 10000000
     $Lib "mcs_10mhz.lib"
    '-------------------------------------------------------------------------------
    
    
    '===============================================================================
    ' Variablen
    '===============================================================================
     Dim messen as Word
     Dim summe as Word
     Dim i as Byte
     Dim stelle as Byte
     Dim bcd_aus as Byte
     Dim ausgang as Byte
     Dim einer as Byte
     Dim zehner as Byte
     Dim hunderter as Byte
     Dim zyklus as Byte
    '-------------------------------------------------------------------------------
    
    
    '===============================================================================
    ' Ein- und Ausgänge
    '===============================================================================
     Ddrb  = &B11111111
     Ddrd  = &B11111110
     Portd = &B00000001                                     'Pullup Widerstand an D0
    '-------------------------------------------------------------------------------
    
    
    '*******************************************************************************
    '* HAUPTPROGRAMM                                                               *
    '*******************************************************************************
    
    Do
    
     summe = 0
    
     For i=1 To 16
      Pulsein messen , Pind , 0 , 1
      summe = summe + messen
     Next i
    
     Shift summe , Right , 4
    
    '------
     hunderter = summe / 100
     hunderter = hunderter mod 10
     zehner    = summe / 10
     zehner    = zehner mod 10
     einer     = summe mod 10
    '------
    
     if err = 1 then goto nopulse
    
    Loop
    '-------------------------------------------------------------------------------
    
    
    '===
     End
    '===
    Noch mit drin die Aufdröselung der Stellen für die IRQ-Displayroutine und Mittelwertbildung der Messung aus 16 Einzelmessungen - wird dann schön ruhig die Anzeige.

    LG,
    Bruno

  3. #13
    Hallo Bruno,

    vielen Dank für den Code, es klappt prima...
    Wenn ich nun noch weitere Eingänge und Ausgänge mit
    anderen Steuerkanälen belegen möchte, wie müsste ich da
    vor gehen.

    Dank im vorraus
    Gruß
    Derivat

Seite 2 von 2 ErsteErste 12

Berechtigungen

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

fchao-Sinus-Wechselrichter AliExpress