- 12V Akku mit 280 Ah bauen         
Ergebnis 1 bis 10 von 23

Thema: 4 Led´s unabhängig per Zufall blinken lassen?

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.01.2006
    Beiträge
    4.555
    Zitat Zitat von DanielSan Beitrag anzeigen
    @Richard: Das hört sich gut an. Der Atmel in meiner Anwendung, kriegt ne Menge EM-Strahlung ab. Er liegt in der nähe eines 2,4Ghz RC-Empfängers (inkl. Rückkanal) und eines 50A Brushlessreglers.

    Sollte ich die "Antenne" dann so lang machen, wie eine 2,4Ghz Antenne sein sollte? Das wäre ja nicht besonders lang und würde die Platzverhältnisse nicht zu arg in Anspruch nehmen.
    Wie lang kann ich auch nicht sagen, ganz ohne b,.z.w. Irgend ein Ganzzahliger (Anteil) der zu Filternden Wellenlänge würde sich aber anbieten. Auch verschiedene Längen Pro Kanal, Auch interessant könnte ein Serien Schwingkreis LC sein, wobei der ADC dann zwischen L und C abgegriffen wird. Damit, bei richtiger Berechnung, kann auf bestimmte "Sender" gefiltert werden. Ob ich die Formel für die Resonanz Frequenz nuch zusammen bekomme? (1/2* Pi * √ (L*C)) "oder ähnlich".

    Gruß Richard

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    17.09.2004
    Alter
    40
    Beiträge
    647
    Das komische an meinem Programm, ist das es im Simulator sauber durchläuft. Die Zeiten stimmen die Led blinkt wie sie soll etc.
    Warum klappt es dann nicht wenn ich das Programm in den Atmega48 schreibe?

    Jtag ist aus und die Clock steht auf 8Mhz so wie im Code angegeben...

    Danke
    Gruß Daniel
    Unser Sommer ist ein grün angestrichener Winter. Das einzige reife Obst, das wir haben, sind gebratene Äpfel. [Heinrich Heine]

  3. #3
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    62
    Beiträge
    5.799
    Blog-Einträge
    8
    Bei mir funktioniert das wie erwartet:
    Code:
    $regfile = "m8def.dat"                                      'Setup asuro
    $crystal = 8000000
    
    Config Timer0 = Timer , Prescale = 64
    
    Config Pind.2 = Output
    Config Pind.3 = Output
    Config Pind.4 = Output
    Config Pind.5 = Output
    
    Mg1 Alias Portd.2
    Mg2 Alias Portd.3
    Mg3 Alias Portd.4
    Mg4 Alias Portd.5
    
    Dim Mg1flag As Byte
    Dim Mg2flag As Byte
    Dim Mg3flag As Byte
    Dim Mg4flag As Byte
    Dim Mg1time As Integer
    Dim Mg2time As Integer
    Dim Mg3time As Integer
    Dim Mg4time As Integer
    Dim I As Integer
    
    Const Timervorgabe = 131
    On Timer0 Timer_irq
    Enable Timer0
    Enable Interrupts
    
    Mg1flag = 0
    Mg2flag = 0
    Mg3flag = 0
    Mg4flag = 0
    Mg1time = 0
    Mg2time = 0
    Mg3time = 0
    Mg4time = 0
    
    Dim Led2 As Byte
    Led2 = 0
    Mg1 = 1                                                     'LEDs aus
    Mg2 = 1
    Mg3 = 1
    Mg4 = 1
    
    Do
    
    Loop
    End
    
    Timer_irq:
    Timer0 = Timervorgabe
    
    If Mg1time = 0 Then
       If Mg1flag = 1 Then
          Mg1time = 250                                         ' Anzeit
          Mg1 = 1
          Mg1flag = 0
       Else
          Mg1time = 250                                         ' Auszeit
          Mg1 = 0
          Mg1flag = 1
       End If
    End If
    Decr Mg1time
    
    If Led2 > 0 Then
       Decr Led2
    Else
       Toggle Portd.3
       If Pind.3 = 0 Then
          Led2 = 249                                            ' Anzeit-1!
       Else
          Led2 = 249                                            ' Auszeit-1
       End If
    End If
    Return
    Geändert von radbruch (20.07.2011 um 13:24 Uhr)
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  4. #4
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    17.09.2004
    Alter
    40
    Beiträge
    647
    Oh man alles klar DANKE!
    Es lag an:
    Code:
    Mg1 Alias Pinb.1
    Das muss natürlich:
    Code:
    Mg1 Alias Portb.1
    heissen. Das müsste doch der Compiler eigentlich merken oder?

    Danke
    Gruß Daniel
    Unser Sommer ist ein grün angestrichener Winter. Das einzige reife Obst, das wir haben, sind gebratene Äpfel. [Heinrich Heine]

  5. #5
    Erfahrener Benutzer Robotik Visionär Avatar von 021aet04
    Registriert seit
    17.01.2005
    Ort
    Niklasdorf
    Alter
    37
    Beiträge
    5.093
    Ich weiß zwar nicht wie es in Bascom ist, aber bei C ist es egal, da er beides kennt (nicht genau die Befehle, aber auch mit Ein-/Ausgängen).
    Wenn es so ist wie in C (AVR Studio mit GCC) ist PINB für Eingänge vom Port B und PORTB Ausgänge vom Port B.

    MfG Hannes

  6. #6
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    62
    Beiträge
    5.799
    Blog-Einträge
    8
    würgs:
    Code:
    Timer_irq:
    Timer0 = Timervorgabe
    
    If Mg1time = 0 Then
       If Mg1flag = 1 Then
          Mg1time = 250                                         ' Anzeit
          Mg1 = 1
          Mg1flag = 0
       Else
          Do                                                    ' Auszeit
             Mg1time = Rnd(500)
          Loop Until Mg1time < 500
          Mg1time = Mg1time + 250
          Mg1 = 0
          Mg1flag = 1
       End If
    End If
    Decr Mg1time
    
    Return
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  7. #7
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    17.09.2004
    Alter
    40
    Beiträge
    647
    Edit: Ah jetzt seh ich erst was du gemacht hast! Du Fuchs

    Ok deine Lösung ist zwar "gepfuscht" aber sie funktioniert. Ich denke das Rnd() nicht richtig funktioniert ist ein Bug in Bascom.

    Gruß Daniel
    Geändert von DanielSan (20.07.2011 um 13:53 Uhr)
    Unser Sommer ist ein grün angestrichener Winter. Das einzige reife Obst, das wir haben, sind gebratene Äpfel. [Heinrich Heine]

Ähnliche Themen

  1. Led blinken lassen mit Timer0
    Von sky2 im Forum PIC Controller
    Antworten: 2
    Letzter Beitrag: 25.12.2009, 18:33
  2. LED blinken lassen während Programm normal weiterläuft
    Von Steffen08 im Forum C - Programmierung (GCC u.a.)
    Antworten: 6
    Letzter Beitrag: 30.03.2009, 21:10
  3. LED im 1 oder 2 sek. Takt per Interrupt blinken lassen
    Von rogerberglen im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 8
    Letzter Beitrag: 17.04.2007, 19:51
  4. Led's unabhängig voneinander blinken lassen
    Von Thorsten75 im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 1
    Letzter Beitrag: 20.03.2007, 12:41
  5. LED´s per Zufall leuchten lassen
    Von Hoomer im Forum Elektronik
    Antworten: 11
    Letzter Beitrag: 05.02.2006, 14:45

Berechtigungen

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

fchao-Sinus-Wechselrichter AliExpress