goof1980
06.10.2008, 22:18
hallo,
ich habe folgendes problem. ich habe einen mega 8 mit lcd display. und ich möchte von einem pc aus 2 integer zahlen an den avr übergeben. da ich noch keine ahnung habe wie das geht hab ich erstmal klein angefangen und schon bin ich aufs erste problem gestossen.
der testcode sieht so aus:
' Deklaration
$regfile = "m8def.dat" ' für Mega8
$crystal = 8000000 ' für 8MHz Quarz
' LCD Anzeige
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portc.0 , Db5 = Portc.1 , Db6 = Portc.2 , Db7 = Portc.3 , E = Portb.4 , Rs = Portb.5
Config Lcdbus = 4
' Interrupts einschalten
Enable Interrupts
Cursor Off
Dim Temp_string As String * 1
Cls
Locate 1 , 1
Print "GO"
' Hauptschleife
Do
If Ischarwaiting() = 1 Then
Cls
Temp_string = Inkey()
Locate 1 , 1
Print Temp_string
End If
Loop
End
die lcd-anzeige funktioniert in einer anderen anwendung mit dieser konfiguration.
jetzt aber zum eigentlichen problem. ich gebe ja "go" aus (einfach um zu sehen ob was passiert), aber das kommt nicht mehr auf dem display an, sondern auf dem uart kanal. wie bekomme ich denn das geregelt?
genauso in der hauptschleife, da soll der eigentlich das zeichen empfangen und auf dem display ausgeben.
kann mir das einer erklären? ist bestimmt nur ne kleine sache.
in nem anderen thread stand was mit
PRINT [#channel , ] var ; " constant"
also, den ausgabekanal festlegen. nur, welcher kanal ist denn was?
vielen dank vorab.
gruss Christian
ich habe folgendes problem. ich habe einen mega 8 mit lcd display. und ich möchte von einem pc aus 2 integer zahlen an den avr übergeben. da ich noch keine ahnung habe wie das geht hab ich erstmal klein angefangen und schon bin ich aufs erste problem gestossen.
der testcode sieht so aus:
' Deklaration
$regfile = "m8def.dat" ' für Mega8
$crystal = 8000000 ' für 8MHz Quarz
' LCD Anzeige
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portc.0 , Db5 = Portc.1 , Db6 = Portc.2 , Db7 = Portc.3 , E = Portb.4 , Rs = Portb.5
Config Lcdbus = 4
' Interrupts einschalten
Enable Interrupts
Cursor Off
Dim Temp_string As String * 1
Cls
Locate 1 , 1
Print "GO"
' Hauptschleife
Do
If Ischarwaiting() = 1 Then
Cls
Temp_string = Inkey()
Locate 1 , 1
Print Temp_string
End If
Loop
End
die lcd-anzeige funktioniert in einer anderen anwendung mit dieser konfiguration.
jetzt aber zum eigentlichen problem. ich gebe ja "go" aus (einfach um zu sehen ob was passiert), aber das kommt nicht mehr auf dem display an, sondern auf dem uart kanal. wie bekomme ich denn das geregelt?
genauso in der hauptschleife, da soll der eigentlich das zeichen empfangen und auf dem display ausgeben.
kann mir das einer erklären? ist bestimmt nur ne kleine sache.
in nem anderen thread stand was mit
PRINT [#channel , ] var ; " constant"
also, den ausgabekanal festlegen. nur, welcher kanal ist denn was?
vielen dank vorab.
gruss Christian