Forum: Mikrocontroller und Digitale Elektronik Tiny13 SW-Uart mit Bascom.


von Thomas V. (linuxer7)


Lesenswert?

Hallo Leute,

ich habe ein kleines Problem mit dem Tiny 13. Ich habe folgendes Bascom 
Programm um Daten über die Serielle Schnittstelle vom Tiny13 Auf dem PC 
auszulesen.

$regfile = "attiny13.dat"
$crystal = 1200000
$hwstack = 32
$swstack = 4
$framesize = 4

Open "comb.2:2400,8,n,1,INVERTED" For Output As #2

Config Portb.0 = Output
Config Portb.2 = Output

Do
 Print #2 , "Test"

 Set Portb.0
 Wait 1
 Reset Portb.0
 Wait 1

Waitms 500
Loop

End

Das ganze funktioniert soweit auch ,nur bekomme ich statt dem Wort 
"Test" als Ausgabe im Terminal "?UStT". Das Fragezeichen ist Invertiert.

Sollte das Problem auf den ungenauen Takt zurück zuführen sein, so 
wollte ich den Tiny13 mit einem externen Quarz 4, oder 6 Mhz takten, 
aber das geht glaube ich nur mit einem Oszilator, oder ?

Hat jemand eine Idee woran das liegen kann ?

Gruß
Thomas

von Karl M. (Gast)


Lesenswert?

Hallo,

Frage: Was bedeutet INVERTED im Zusammenhang mit der eingesetzten 
Hardware?

Beitrag #5015632 wurde von einem Moderator gelöscht.
von Unverdrossen (Gast)


Lesenswert?

Karl M. schrieb:
> Frage: Was bedeutet INVERTED im Zusammenhang mit der eingesetzten
> Hardware?

Das bedeutet, daß die RS232-Ausgabe invertiert erfolgt, was hier aber 
kontraproduktiv sein dürfte.



@Mod

...immer löschen. Kein Problem -ich bin ein Stehaufmännchen und werde 
nicht aufhören zu helfen, wenn ich helfen kann.

von Norbert S. (norberts)


Lesenswert?

Thomas V. schrieb:

> $crystal = 1200000

Moin,

Der Tiny13 wird mit 9,6MHz ausgeliefert.
Schreib das mal dahin und dann wird es gehen.
Das kommt nämlich genau hin. 12/9,6 = 1,25. Dein "Test" wird durch die 
vergurkte Baudrate zu einem Salat aus 5 Zeichen.

Edit:
"INVERTED" ist richtig, wenn Du direkt auf eine RS232 gehst. Hast Du 
einen USB-TTL-Wandler, wäre es falsch.

Gruß,
Norbert

: Bearbeitet durch User
von Thomas V. (linuxer7)


Lesenswert?

Morgen Leute,

@Norbert
Hmm, 12/9,6. Wieso 12 ?
Der wird mit 9,6 ausgeliefert. Der Teiler ist 8. Deswegen habe ich die 
1200000Mhz.

Ich gehe mit dem Port direkt auf einen MAX232 und der hängt an meiner 
Seriellen Schnittstelle.

@Unverdrossen
Könntest Recht haben. Ich muss das mal testen. Werde aber vermutlich 
heute nicht mehr dazu kommen.

Ich habe mich durch mehrere Seiten im Netz gehangelt das ist hier eine 
und da steht nix von "inverted".

http://www.qsl.net/pa3ckr/bascom%20and%20avr/rs232/index.html

Ist vermutlich noch ein Überbleibsel eines anderen Versuches :(, 
peinlich.

Gruß
Thomas

: Bearbeitet durch User
von Norbert S. (norberts)


Lesenswert?

Moin,

Oh, da hab ich mich bei den Nullen verzählt, ich hab da 12MHz gesehen.
Schade, das hätte schön gepasst.

Der Max232 invertiert ja schon, von daher ist das INVERTED hier falsch.
Wundert mich allerdings etwas, daß das 5 Zeichen werden.

Gruß,
Norbert

von Thomas V. (linuxer7)


Lesenswert?

Hallo Leute,

kam doch noch dazu die Geschichte zu testen.
Es funktioniert. Das "Inverted" ist in meiner Konfiguration mit MAX232 
fehl am Platz.
Nun funktioniert es Problemlos :)

Vielen Dank für eure Hilfe.

Gruß
Thomas

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.