Forum: Mikrocontroller und Digitale Elektronik Atmega8: Uart, aber nur zur hälfte nutzen in Bascom


von Michael (Gast)


Lesenswert?

Hallo,

ich habe eine Hardware, die von meinem Atemga8 alle Pins beansprucht.
Aber dabei wird auch der "Uart" zur Hälfte benutze. Die RxD Leitung wird 
vom LCD mitgenutzt. Wenn ich jetzt hergehe, und mein Programm schreibe:

$regfile = "m8def.dat"

$crystal = 4000000

$baud = 19200

Config Portd = Output

Config Lcdpin = Pin , Db4 = Portd.6 , Db5 = Portd.7 , Db6 = Portd.4 , 
Db7 = Portd.2 , E = Portd.0 , Rs = Portd.5
Config Lcdbus = 4
Config Lcd = 16 * 2

Do

Cls
Wait 1

Locate 1 , 5
Lcd "hallo"

Print "Meldung"

Wait 1
Loop

Bekomme ich zwar am Uart die Worte "Meldung" raus, aber auf dem LCD 
passiert nichts.

Mach ich stattdessen das ganz mit einem SoftUart, dann bekomme ich nicht 
mit 100%iger sicherheit die Daten am PC. Da kommen dann öfftes 0er mit, 
die nicht hinsollen, und es kommt nur alle 4 Sekunden eine "Meldung".
Ich hoffe, das mir jemand dabei helfen kann.

Schönen Abend noch
Michael

von Michael (Gast)


Lesenswert?

Hallo,

einmal nach oben "puschen"

mfg
Michael

von CAnfänger (Gast)


Lesenswert?

Du kannst versuchen, Deine 4 Zeilen, die mit CONFIG anfangen, mit in die 
Schleife zu schreiben (an den Anfang). Der RXD-Pin wird wahrscheinlich 
durch das "print" umkonfiguriert.

Ansonsten - nimm den Reset-Pin dazu oder einen größeren Chip.

von Philipp B. (philipp_burch)


Lesenswert?

Wenn der USART aktiviert wird, kannst du den RxD-Pin (Und auch den 
TxD-Pin) nicht mehr anderweitig nutzen, das ist von der Hardware 
vorgegeben. Daran kann auch BASCOM nichts ändern. Da aber beide Signale 
recht langsam sind, kannst du ja jeweils abwechselnd einmal den USART 
aktivieren, deine Meldung ausgeben, wieder deaktivieren und das LCD 
beschreiben.

von Uwe .. (uwegw)


Lesenswert?

Und wenn man wirklich nur die Sendeseite aktiviert, also RXEN nicht 
setzt?

von Enrico M. (enricom)


Lesenswert?

Hallo,

doch man kann nur einen Pin in Bascom verwenden.
Auf der Homepage von Bascom Mcselec.com gibt es eine Application Note 
dazu.

von Michael (Gast)


Lesenswert?

Hallo,

erstmal danke für die Antworten.

Der Reset Pin ist schon belegt. Also auch nicht mehr nutzbar.

Wie ist das mit dem "ein" und "ausschalten"? Wie geht das? Codeschnipsel 
wäre hilfreich.

@Enrico M.: Ich kann da nichts finden. Hast du vielleicht nen Link?

mfg
Michael

von Enrico M. (enricom)


Lesenswert?

Hallo,

ich suche das mal raus und schreibs hier rein.

Ich hatte das Problem ebenfalls schon einmal und habe mich dumm und 
dämlich gesucht, deshalb ist mir das noch sehr gut bekannt... :)

von Michael (Gast)


Lesenswert?

Hi,

danke für die Hilfe.

@The Rest: Fals ihr auch noch Ideen habt: Her damit, kann nie Schaden.

mfg
Michael

PS: Es sollte so wenig wie möglich an Speicher Schlucken. Momentan bin 
ich zu 99% voll. Das Programm ist auch so weit fertig, bis auf den Uart

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.