-         

Ergebnis 1 bis 5 von 5

Thema: Programmübersetzung, was mach ich falsch ?

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    17.08.2005
    Ort
    Pegnitz
    Alter
    29
    Beiträge
    36

    Programmübersetzung, was mach ich falsch ?

    Anzeige

    Hallo zusammen,
    ich sitze vor einem Problem. Bei mir haperts bei der Übersetzung eines programmes für einen Mega 8 auf einen Attiny 13, eigentlich sollte es ja nicht so schwer sein dachte ich aber da haben mich die 8 Pins vom Attiny 13 aus geschmiert Dank oZe habe ich das programm an den Mega anpassen können aber jetzt da es auf den Attiny 13 soll habe ich probleme
    Code:
    $regfile = "m8def.dat"
    $crystal = 12000000
    $hwstack = 100
    $swstack = 100
    $framesize = 100
    
    
    Config Portb.0 = Output
    Config Portb.1 = Output
    Config Portb.2 = Output
    Config Pinb.3 = Input
    
    
    Dim State As Byte
    State = 1
    
    Do
    
    Debounce Pinb.3 , 0 , Unterfunkt , Sub
    
    Loop
    End
    
    
    Unterfunkt:
     If State = 1 Then
       Portb.0 = 0
       Waitms 20
       State = 2
    
     Elseif State = 2 Then
       Portb.0 = 1
       Portb.1 = 0
       Waitms 20
       State = 3
    
     Elseif State = 3 Then
       Portb.1 = 1
       Portb.2 = 0
       Waitms 20
       State = 4
    
     Elseif State = 4 Then
       Portb.2 = 1
       Waitms 20
       State = 1
    
     End If
    
    Return
    Kann mir da einer weiter helfen wie ich das anstelle das es der Attiny frisst und er mit 128 kHz int. oszilator läuft(folglich muss die zeile *$crystal = 12000000* raus oder?).
    Danke schon mal die die sich meiner Probleme erbarmen.

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.01.2006
    Beiträge
    4.556
    Schaue einmal die Batenblätter vom Mege 8 und Atinny13 an, dann wird Dir einiges klar. Der Atinny hat anstatt 8 kB Flasch nur 1 kB und der s ram alleine ist schon weitaus kleiner als die eingestellte Stak Größe im Programm, das kann nicht gehen!

    Gruß Richard

  3. #3
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.02.2006
    Beiträge
    1.112
    Ich würde es mal mit so einem Header versuchen:
    $regfile = "attiny13.dat"
    $crystal = 128000
    $hwstack = 24
    $swstack = 8
    $framesize = 10

    Da du bisher keine Funktion oder Sub mit Parametern aufrufst, kannst du swstack auch auf 0 setzen. framesize ebenso, solange du keine Typ Konvertierungen machst.

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    17.08.2005
    Ort
    Pegnitz
    Alter
    29
    Beiträge
    36
    Hey danke, ich habs hin bekommen. Jetzt funktioniert es, die Werte waren ja viel zu groß, habe nun $hwstack = 16 $swstack = 4 $framesize = 12 also überall die hälfte.
    Jetzt muss ich nur noch eine Sleep-Funktion einbauen dann bin ich ganz und gar zufrieden. Hat jemand ein Bascom Beispiel irgendwo gesehen, ich finde nur immer in C programmierte Sourcecodes.
    Danke noch mal .

  5. #5
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    26.05.2007
    Beiträge
    594
    Schau mal hier http://avrhelp.mcselec.com/ bei POWER mode

    The mode depends on the micro processor.
    Some valid options are :
    - IDLE
    - POWERDOWN
    - STANDBY
    - ADCNOISE
    - POWERSAVE

    So for standby you would use : POWER STANDBY
    It is also possible to use POWERDOWN, IDLE or POWERSAVE. These modes were/are supported by most processors. It is recommended to use the new POWER command because it allows to use more modes.

    POWER has nothing to do with the POWER() function.

Berechtigungen

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