Schnittlauchmann hat geschrieben:
[...]
hätte gerne zwischen den Buchstaben kurze Pausen, also "*_ pause _*** pause _*_*", damit man die einzelnen Buchstaben besser erkennen kann.
Mir fehlen total die Kenntnisse im Programmieren :-( wo muss ich ansetzen?
Mir war schon vorher klar, daß Baskom allergrottigeste Schrottsoftware ist, aber diesen unstrukturierte Spaghetticode kann ein Anfänger auch nicht verstehen.
Hier das ganze mal bisschen strukturiert, dann verstehst Du vielleicht, wo man was einbauen muss:
Code:
Morsen:
Morse$ = "--***--***" 'String aus 10 Zeichen * = kurz - = lang
For A = 1 To 10 '10 Zeichen auslesen und auswerten
S$ = Mid(morse$ , A , 1) 'Teilstring auslesen
If S$ = "*"
Then 'wenn kurz Blinken
Portb.3 = 1 'LED AN
Waitms 30 'kurz warten
Portb.3 = 0 'LED AUS
Waitms 1000 'lang warten
Else 'sonst lang blinken
Portb.3 = 1 'LED AN
Waitms 300 'lange warten
Portb.3 = 0 'LED AUS
Waitms 1000 'lang warten
End If
Next A
Return
Die Routine wandert durch den String "Morse$" und testet jedes Zeichen ab. Wenn es ein "*" ist, wird die LED 30ms lang eingeschaltet und dann 1000ms ausgeschaltet. Das soll dann ein Punkt sein. Bei jedem andern Zeichen wird die LED 300ms lang eingeschaltet und dann 1000ms lang ausgeschaltet. Danach springt die Schleife sofort zum nächsten Zeichen, und da fehlt Deine Pause.
Also: Vor das "Next A" und hinter das "End If" eine Zeile "Waitms 1000" oder so einfügen, das ist dann die Pause zwischen den Zeichen.
Wenn Du Dich da eh schon verkünstelst, kannst Du gleich richtigen Morsecode draus machen:
* Ein Strich ist dreimal so lange wie ein Punkt.
* Die Pausen innerhalb eines Zeichens ist so lang wie ein Punkt.
* Die Pause am Ende eines Zeichens ist so lange wie drei Punkte
* Die Pause zwischen zwei Worten ist sieben Punkte lang
Einfach die "Waitms" anpassen, z.B. Punkt 100ms und Strich 300. Die Pause nach dem Zeichen auch 300ms.
Gruß MaJa