nase
25.02.2008, 20:32
Habe meinen Atmega8 über einen Max 232 an ein Handelsübliches Analog-Modem angeschlossen. Hab aber Problem mit dem Modem zu Kommunizieren.
Schließe ich z.B. das Modem über Serielles Kabel an den PC, kann ich das Modem über ein Terminal Programm ansprechen, Bei Eingabe über die PC Tastatur von z.B "ATZ" bekomme ich vom Modem die Rückmeldung " OK"
Schließe ich aber den Atmega ans Modem und sende über den Atmega den gleichen Befehl, bekomm ich als Rückmeldung eine 32 ausgegeben , oder auch eine 65.
Was mach ich falsch ???
Bin Anfänger was Prozessoren betrifft.
Mein Programm sieht folgend aus:
'Modem 9
' Display an folgenden Ports
' Enable = Port B.5
' RS = Port B.4
' DB7 = Port B.3
' DB6 = Port B.2
' DB5 = Port B.1
' DB4 = Port B.0
' Led an Port D.5 Rot
' Led an Port D.7 Blau
'------------------------------------------------------------------------------
$baud = 9600
$regfile "m8def.dat" 'Definiert den Atmega als Atmega 8
$crystal = 3686400 'Gibt die Quarzfrequenz an in Herz
Config Lcd = 16 * 2 'definiert das LCD Display in Art und Größe
Dim A As Byte
Ddrd = &B10100000 ' Portd.5 und d.7 als Ausgang,alle anderen
'als Eingang definieren
Cls
'------------------------------------------------------------------------------
Do
Portd.5 = 0 ' Led Rot aus
Portd.7 = 0 ' Led Blau aus
Print " ATZ" ' Initialisierung ans Modem senden
Lcd "ans Moden senden" ' Nur zur Kontrolle
Portd.5 = 1 ' Led rot an
A = Waitkey() ' Auf Eingabe von RS232 warten
If A = 0 Then ' Keine Antwort von RS232 ist Null
Locate 2 , 1
Lcd "Keine Rueckmeldung"
Else
Locate 2 , 1
Lcd "Rückmledung" ; A
End If
Portd.7 = 1 ' Led blau an
Waitms 1000
Cls
Loop
Schließe ich z.B. das Modem über Serielles Kabel an den PC, kann ich das Modem über ein Terminal Programm ansprechen, Bei Eingabe über die PC Tastatur von z.B "ATZ" bekomme ich vom Modem die Rückmeldung " OK"
Schließe ich aber den Atmega ans Modem und sende über den Atmega den gleichen Befehl, bekomm ich als Rückmeldung eine 32 ausgegeben , oder auch eine 65.
Was mach ich falsch ???
Bin Anfänger was Prozessoren betrifft.
Mein Programm sieht folgend aus:
'Modem 9
' Display an folgenden Ports
' Enable = Port B.5
' RS = Port B.4
' DB7 = Port B.3
' DB6 = Port B.2
' DB5 = Port B.1
' DB4 = Port B.0
' Led an Port D.5 Rot
' Led an Port D.7 Blau
'------------------------------------------------------------------------------
$baud = 9600
$regfile "m8def.dat" 'Definiert den Atmega als Atmega 8
$crystal = 3686400 'Gibt die Quarzfrequenz an in Herz
Config Lcd = 16 * 2 'definiert das LCD Display in Art und Größe
Dim A As Byte
Ddrd = &B10100000 ' Portd.5 und d.7 als Ausgang,alle anderen
'als Eingang definieren
Cls
'------------------------------------------------------------------------------
Do
Portd.5 = 0 ' Led Rot aus
Portd.7 = 0 ' Led Blau aus
Print " ATZ" ' Initialisierung ans Modem senden
Lcd "ans Moden senden" ' Nur zur Kontrolle
Portd.5 = 1 ' Led rot an
A = Waitkey() ' Auf Eingabe von RS232 warten
If A = 0 Then ' Keine Antwort von RS232 ist Null
Locate 2 , 1
Lcd "Keine Rueckmeldung"
Else
Locate 2 , 1
Lcd "Rückmledung" ; A
End If
Portd.7 = 1 ' Led blau an
Waitms 1000
Cls
Loop