-         

Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 23

Thema: Bascom Zeitfunktionen

  1. #1
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    04.10.2008
    Beiträge
    234

    Bascom Zeitfunktionen

    Anzeige

    Hallo,
    versuche mich gerade an der Microcontroller Programmierung in Basic.
    Habe mir einen kleinen (3x3x3) Led Würfel gebastelt und möchte den über einen ATmega8 ansteuern.
    Zum Würfel: Die Masse jeder "Etage" wird von einem Ausgang (A, B, C) des Controllers über einen Transistor gegen Masse geschaltet. Die Anoden jeder Säule sind ebenfalls verbunden und werden auch von einem Ausgang eingeschaltet.

    Code:
     $regfile = "m8def.dat"
    
    
     Config Portb = Output
     Config Portc = Output
    
     A Alias Portb.0
     B Alias Portb.1
     C Alias Portb.2
    
     S1 Alias Portb.3
     S2 Alias Portb.4
     S3 Alias Portb.5
     S4 Alias Portb.6
     S5 Alias Portb.7
     S6 Alias Portc.0
     S7 Alias Portc.1
     S8 Alias Portc.2
     S9 Alias Portc.3
    
    
     Do
    
     A = 1
     B = 1
     C = 1
    
     S1 = 1
     S2 = 0
     Waitms 500
     S2 = 1
     S1 = 0
     Waitms 500
    
    
     Loop
    
     End
    Aber irgendwie will der Controller mit der "Wait" Anweisung nicht funktionieren. Wenn ich dieses Programm flashe, passiert nichts.
    Habe ich einen Fehler im Programm? Wenn ja welchen?


    Gruß

  2. #2
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    28
    Beiträge
    3.517
    Blog-Einträge
    9
    Hey,

    für zeitkritische Anwendungen musst du Bascom den Controllertakt mitteilen, damit Bascom damit die richtige Größe der Schleifen und Timereinstellungen berechnen kann.
    Dies gilt auch für die "wait" Anweisung.
    Änder mal deinen Programmkopf so ab (aber setzte für den "$crystal" Wert deinen benutzten Takt ein und ohne die ""!) und probier es erneut:

    Code:
    $regfile = "m8def.dat"
    $crystal = "Dein verwendeter Takt"
    Schaut ruhig mal auf meiner Homepage vorbei :
    http://kampis-elektroecke.de

    Oder folge mir auf Google+:
    Daniel Kampert

    Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.

    Gruß
    Daniel

  3. #3
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    04.10.2008
    Beiträge
    234
    Auf der Platine habe ich eine 16MHz Quarz, geb ich dann die 16000000 einfach an?
    Oder muss ich da erst noch die Fusebits ändern? Hatte da mal vor ewigen Zeiten was gelesen, aber keine Ahnung von.

  4. #4
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    28
    Beiträge
    3.517
    Blog-Einträge
    9
    Hey,

    du musst in den Fuses noch einstellen das du einen externen Takt verwendest.
    Du kannst auch einfach erstmal in den Fuses nachschauen wie die stehen (die müssten Default mässig auf 1MHz interner RC-Oszi stehen) und dann schreibst du erstmal

    $crystal = 1 000 000

    Dann brauchst du nichts zu ändern und falls es funktioniert weißt du das es dieser Fehler war
    Schaut ruhig mal auf meiner Homepage vorbei :
    http://kampis-elektroecke.de

    Oder folge mir auf Google+:
    Daniel Kampert

    Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.

    Gruß
    Daniel

  5. #5
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    19.02.2006
    Beiträge
    982
    Du musst beides einstellen...die Fusebits damit der ATMEGA wirklich den externen Quarz verwendet.
    Und die $crystal anweisung damit Bascom weiss welchen Takt du verwendest und dein Programm passend dazu erstellt.
    Nam et ipsa scientia potestas est..

  6. #6
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    04.10.2008
    Beiträge
    234
    Hallo,
    Danke für eure Antworten.
    Habe es mit $crystal = 1 000 000 im Code versucht, das brachte aber keinen Erfolg. Es leuchtet garnichts.
    Habe dann mal nachgemessen, die beiden Ausgänge auf die Säulen (also S1 und S2) schaltet er, allerdings permanent. Die Transistoren steuert er allerdings nicht an.

    Gruß

  7. #7
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    28
    Beiträge
    3.517
    Blog-Einträge
    9
    JTAG Interface noch aktiviert?
    Das musst du auch über die Fuses deaktivieren.
    Schaut ruhig mal auf meiner Homepage vorbei :
    http://kampis-elektroecke.de

    Oder folge mir auf Google+:
    Daniel Kampert

    Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.

    Gruß
    Daniel

  8. #8
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    04.10.2008
    Beiträge
    234
    JTAG Interface?
    Mit den Fuses hab ich mich noch nie beschäftigt, hab da absolut keine Ahnung von.

  9. #9
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    28
    Beiträge
    3.517
    Blog-Einträge
    9
    Mach mal bitte einen Screenshot von deinem Fenster mit den Fuses und poste ihn hier
    Schaut ruhig mal auf meiner Homepage vorbei :
    http://kampis-elektroecke.de

    Oder folge mir auf Google+:
    Daniel Kampert

    Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.

    Gruß
    Daniel

  10. #10
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    04.10.2008
    Beiträge
    234
    Das ist vielleicht eine dumme Frage, aber wie lese ich die Fusebits aus?

Seite 1 von 3 123 LetzteLetzte

Ähnliche Themen

  1. NIBObee: Zeitfunktionen (clock.h)
    Von wastel im Forum Sonstige Roboter- und artverwandte Modelle
    Antworten: 2
    Letzter Beitrag: 06.07.2010, 14:16
  2. Zeitfunktionen in Bascom
    Von mafoba im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 12
    Letzter Beitrag: 14.02.2009, 08:39
  3. USB ASP mit Bascom nutzen? bzw AVRDUDE in Bascom eirichten?
    Von dremler im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 4
    Letzter Beitrag: 09.04.2008, 16:35
  4. wie aus bascom *.bas eine bascom lib machen ????
    Von DarkBeast im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 8
    Letzter Beitrag: 08.12.2007, 19:10
  5. Bascom 1.11.7.4 und Bascom 1.11.8.3
    Von martin66119 im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 1
    Letzter Beitrag: 19.01.2007, 12:38

Berechtigungen

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