PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : waitms... Anfängerfalle ??



oderlachs
31.12.2010, 15:14
Hallo Forengänger !

Seit gestern bin ich hier im Forum und muss sagen, es gefällt mir sehr, da hier viel Erklärendes zu lesen ist.
Ich habe aber ein Problem beiBascom mit dem Befehl "waitms".
Besagt nicht dieser so in etwa "warte in millisec" ?

Gebe ich dort 1000 ein so wären das für mich eine volle Sekunde, die Wartezeit aber ist in der Praxis 10 sec. (m. Stoppuhr gemessen).

Gut ich kann den Wert verringern um auf eine Sekunde in der Einschaltzeit zu kommen,
aber dann weiss ich nicht was der befehl nun konkret besagt wenn ich ihm eine Variable übergebe.

Bestimmt denke ich das das ein typischer Anfängerfehler bei mir ist, denn ich lerne ja noch und habe ausser dem Forum hier keine theoretischen Unterlagen.

Vielleicht kann ja wer helfen, mit der Suchfunkttion nach "waitms" habe ich mengenweise beiträge gefunden, aber keine Erklärung für mein Problem.
Muss ich gar vieleicht total anders eine Ein- bzw Ausschaltzeit eines Portes programmieren ??

Gruss und Dank, verbunden mit den besten Wünschen für Euch im neuen Jahr

Gerhard

radbruch
31.12.2010, 15:23
Hallo Gerhard

Bascom berechnet die Wartezeit über die Taktfrequenz des Kontrollers. Stimmt deine $crystal-Angabe? Sind die Fuses auf den richtigen Taktgeber eingestellt? Wie sieht dein Programm aus?

Ich hoffe, du findest den Fehler.

Gruß

mic

oderlachs
31.12.2010, 16:21
Hallo radbruch !
Fuses ??? na soweit kenn ich mich noch gar nicht aus, ich dachte das macht BasCom gleich mit wenn ich von da übertrage..Ich war ja als "Autodidakt" schon froh das da überhaupt was passierte..O:)

Ich bin ja noch dabei etwas zu Probieren, um mich dort erst einmal einzuarbeiten, das Board habe ich von Pollin und ein Parallel-ISP Prog-Kabel bei myAVR gekauft...
Will mir ja natürlich auch noch ein Handbuch zulegen, was speziell für AVR bzw PIC ist. Da will ich aber noch suchen ob ich was erfahren kann, welches ich da nehmen sollte. Alles kann man auch nicht nehmen, selbst wenn der Preis recht "gut" (teuer) ist, denke ich.
Hier ist mal mein Source:

$regfile = "m8def.dat"
$crystal = 16000000 '16Mc Qu.
Config Portd = Output

Do
Portd.5 = 1
Portd.6 = 1
Waitms 1000
Portd.5 = 1
Portd.6 = 0
Waitms 1000
Portd.5 = 0
Portd.6 = 1
Waitms 2000
Loop

End 'end program


Gruss und Dank Gerhard

PicNick
31.12.2010, 17:51
Unter der Annahme, dass du tatsächlich einen 16 MHZ Quartz eingebaut hast, wett' ich doch, dass die "Fuses" danebenliegen.

Guckstu da:
http://www.rn-wissen.de/index.php/Bascom_-_Erstes_Programm_in_den_AVR_Controller_%C3%BCbertr agen

oderlachs
31.12.2010, 18:25
Hallo Robert !!
Spitze das wars, nun geht es auf die Secunde genau. :)
Habe viele vielen herzlichen Dank. da habe ich vorhin auch schon geschaut in Bascom, muss aber da nicht richtig gesehen haben...(Fielmann)

es klappt wunderbar, Dir nochmals vielen dank, die Hilfe unter dem Link habe ich gleich zu einem PDF gemacht zum drucken und abheften..


Gruss und Dank

Gerhard :)