www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Bitte Hilfe bei String empfangen und ausgeben am LCD mit Bluetooth Modul (Bascom)


Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Grüß euch und schönen Abend,

ich habe folgendes Problem:

Gegeben sind zwei Atmega8 an denen jeweils ein BTM222 Bluetooth Modul 
angeschlossen ist.

An dem einen AVR wird eine Spannung gemessen, per Bluetooth mittels dem 
Print Befehl an die Uart geschickt. So weit so gut, funktioniert alles.

Der anderen AVR soll nun die Spannung an einem LCD ausgeben.
Der String wird auch empfangen und ordentlich weitergegeben von dem 
Bluetooth Modul an den AVR. Dies habe ich mit dem Windows Terminal 
überprüft. Dort kommen die Werte super im Sekundentakt an. Genau so wie 
es sein soll.

Dann stehe ich aber an. Das LCD zeigt zwar den Wert an, schreibt aber 
immer weiter und überschreibt die Zahlen. Es wird dann ein WirrWarr an 
Zahlen am Display. Mir kommt es so vor, als wenn der Wert erst langsam 
angezeigt wird und dann wirds immer schneller, das sehe ich weil dann 
das Display immer öfters flackert.

Was kann hier nicht stimmen? Anbei der Code für Bascom.

Vielen Dank
Lg Peter
$regfile = "m8def.dat"
$crystal = 8000000

$baud = 9600

Config Portd.5 = Output
Config Portb.0 = Output
Config Portd.6 = Output
Config Portd.7 = Output
Config Portb.1 = Output
Config Portb.2 = Output
Config Portd.2 = Output

Config Lcdpin = Pin , Db4 = Portd.5 , Db5 = Portb.0 , Db6 = Portd.6 , Db7 = Portd.7 , E = Portb.1 , Rs = Portb.2
Config Lcd = 16 * 2
Cursor Off

On Urxc Onrxd
Enable Urxc
Enable Interrupts

Dim S As String * 1

Cls
Lcd "Hallo"
Wait 1
Cls

Do

Locate 1 , 1
Lcd S

Loop
End


Onrxd:
  S = S + Chr(udr)
Return

Autor: MWS (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was soll denn das sein ?

-> Dim S As String * 1

Ein 1 Byte langer String ?

-> S = S + Chr(udr)

String läuft nach zweitem Aufruf über, wird auch nie gelöscht.

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ahh,

s = ""

hat gefehlt.

Jetzt scheint es zu funktionieren, danke!

Der String besteht nur im Moment aus einem Byte, werden später mal mehr 
werden.

Danke
Peter

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.