Klar gibt es ein Bild. Im Atmel AVR Journal Issue3 / 04
http://www.atmel.com/journal/Archive.asp
unter "AVR Video Generator with an AVR Mega163".
@ Gast:
Gibts vielleicht auch Bilder oder so dazu?
@ JanB:
Ja, ich habe ein Problem
Ich denke, dass die AVRs mit der Print-Ausgabe auch steuerzeichen mitsenden, denn beim senden eines Buchstaben (f) erscheint auf dem TV:
Also der Cursor gehört natürlich dahin, Ca scheint vieleicht eine Anweisung wie nächste Zeile zu sein.Code:fCa_
Bei Nexte Zeilesenden also (Print 10) ersscheint:
Bei zurück an den Zeilenanfang (Print 13) und Bildschirm löschen (Print 12) erscheint in beiden Fällen:Code:1j j _
Gibt es eine Möglichkeit (Anweisung) in Bascom Zeichen ohne Steuerzeichen zu senden? Print Hex?Code:1&H_
MFG Moritz
Edit: Ach und noch was, diese Punkte (unten), wie hast du die erzeugt? Ich würde gerne mal versuchen damit zu Zeichnen.
Klar gibt es ein Bild. Im Atmel AVR Journal Issue3 / 04
http://www.atmel.com/journal/Archive.asp
unter "AVR Video Generator with an AVR Mega163".
Hi Moritz,
du machst das immer noch nicht richtig.
"Print 10" sendet nicht ein Byte mit dem Wert 10 sondern
mehrere Bytes entsprechend der internen Zahlendarstellung
von 10 in Bascom.
Du musst ein Zeichen mit dem Wert 10 senden, so wie du
ein Zeichen mit dem Wert 65 sendest, wenn du ein "A" haben willst.
Probier mal:
Print chr(10);
und les dir in der Bascom-Hilfe mal durch was chr macht.
Wenn du am Ende der Print-Anweisung ein Semicolon machst,
werden keine CR und LF mitgesendet.
Print f sendet nicht das Zeichen "f" sondern den inhalte der Variable f
Du musst print "f" machen um ein "f" zu senden.
Die Klötzchen im Bild, sind die Steuerzeichen 10h bis 1fH
also 16 bis 31 in dezimal.
Damit kannst du Grafik mit 56x48 Punkten erzeugen.
Du musst halt die 16 Zeichen in Zeilen und Spalten kombinieren.
Es gibt für jede Kombination von 2x2 Punkten ein Zeichen.
Wegen der großen Zeilenabstände sehen die aber nicht so gut aus,
wie ich eigentlich geplant hatte.
Gruß Jan
Sorry, Mist, das hab ich vergessen zu schreiben.
Beim Buchstabensenden hab ich natürlich
Print Chr(b)
benutzt. b war dann ne Varialbe.
Die Steuerzeichen hab ich so gensendet
Print 10
MFG Moritz
Hi Moritz,
also umgekehrt ist richtig.
Steuerzeichen mit Print chr(12)
oder auch print "{010}"; müsste auch gehen.
Buchstaben mit Print "A"; oder Print "susi";
Oder du kannst die Texte in String-Variablen halten, natürlich.
Und du kannst die Steuerzeichen auch in Strings einbauen.
Dim S as String * 5
S = "SUSI"
S = S + chr(10)
oder S = "SUSI{010}"
print S
Gruß Jan
Ich bin jetzt relativ sicher, dass der AVR noch steuerzeichen mitschickt, allerdings mit Software UART scheinbar andere als mit der normalen Print Anwendung. Ich hab jetzt volgendes Script benutzt:
Ausgabe:Code:$regfile = "2313def.dat" $crystal = 4000000 Open "comd.6:19200,8,n,1" For Output As #1 Do Print #1 , " AAA" wait 1 Print #1 , " BBB" Wait 1 Print #1 , " CCC" wait 1 Print #1 , " DDD" Wait 1 Print #1 , Chr(10) wait 1 Wait 1 Loop Close #1
AAA
BBB
CCC
DDD
AAA
...
Erwartet hätte ich:
AAABBBCCCDDD
AAABBBCCCDDD
...
MFG Moritz
Edit:
Auch im Hyperterminal sieht das so aus!
Wenn ich mit dem PC Sachen ausgebe klappt das!
MFG Moritz
Hallo,
was du erwartest, kommt auch, wenn du
ein Semicolon an die Print Anweisung dranhängst.
Also z.B:
Print "AAA"; <---Semicolon unterdrückt Zeilenumbruch
Ist immer so in Basic
so gehts auch:
Gruß JanCode:$regfile = "M32def.dat" $crystal = 16000000 $baud = 9600 Out Osccal , &HB5 Do Print "Das ist ein Test-Text"; Print Chr(10) ; Chr(13); Waitms 100 Loop End
Print "AAA"; <---Semicolon unterdrückt Zeilenumbruch![]()
Das hätte ich wissen müssen![]()
Jetzt laufen auch alle Steuerzeichen etc., nur das X-Setting klappt nicht, das Y-Setting schon.
Die Anweisung sollte den Cursor ja eigentlich in Zeile 8 und Zeicehn 8 setzen. Sie setzt (bei mir) aber nur die Zeile auf 8.Code:Print #1 , Chr(14) ; Chr(7) Print #1 , Chr(15) ; Chr(7)
MFG Moritz
Hi Moritz,
Fass dich mal an die Nase !!!
Weil du am Ende wieder kein Semicolon dran hast,
springt der in die nächste Zeile.
![]()
Probier mal so:
Print Chr(15) ; Chr(4);
Print Chr(14) ; Chr(10);
Gruß Jan
Ja, es war heute ein anstrengender Tag...
![]()
Ich werde jetzt mal versuchen ein bild zu "Zeichnen", danke nochmal für die kleine Nachhilfestunde.
MFG Moritz
Lesezeichen