Erste geh versuche in Bascom

Gast #1156210
Das sieht doch aber an sich ganz gut aus. Das mit dem Interrupt und Wait 
stimmt schon, ist aber in diesem Programm - denke ich - nicht weiter 
kritisch.

Grüße
Gast #1156728
Einfache Lösung:

Aus Schleifen selbst 'ne Verzögerung bauen, bei 2MHz schafft der Tiny 2 
Takte/µS, ein Maschinenbefehl braucht 1,2 oder 3 Takte, eine for/next 
dann xxx Takte. Im Simulator 2 Breakpoints setzen und aus der Differenz 
der Prozessortakte (wird im Sim. unten mit "Cycles" angezeigt) die 
tatsächliche Verzögerung errechnen. Tuning der Verz. geht z.B. mit 
Einfügen von:

$asm
NOP
NOP
...
$end asm

1 NOP verbraucht einen Prozessortakt

Wird aus dieser selbstgestrickten Verzögerung eine Subroutine gemacht, 
so kann sich je nach Aufrufart eine zusätzliche Verzögerung ergeben, 
wenn Register gesichert werden.

Fortgeschrittene Lösung:

Timer/Counter verwenden, Start auf Int0 synchronisieren, 
Verzögerungswerte in's Compare-Register. Evtl. könnte eine der PWM Modes 
dazu "überredet" werden, gleich das Schaltsignal zu liefern.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.