PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Mit Atmega 8 über Modem kommunizieren ?



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

milkbubi
25.02.2008, 21:09
Was sagt er denn, wenn du dein µC an den PC hängst und dann die Antwort per Hand eingibst?

nase
25.02.2008, 22:30
Wenn ich über Terminal eingebe z.B "Return" also Taste drücke bekomm ich als Antwort eine 13, bei eingabe eies "W" bekomm ich eine 119.
So gesehen bekomm ich den ASKII Code zurück.
Wenn ich aber übers Modem gehe, bekomme ich vom Modem in meinem ersten Schleifendurchgang eine 32, im zweiten Schleifendurchgang eine 65 und in allen weiteren Durchgängen eine 10 zurück

nase

Vitis
26.02.2008, 09:49
stimmt denn auch die Baudrate ?

nase
26.02.2008, 17:31
Baudrate im Programm steht auf 9600 Baud, das Modem ist ein 56k Modem.

Vitis
27.02.2008, 02:46
auch die Fuse gesetzt für Quarz?
ist 9600 auch die verwendete Baudrate vom Modem?
die 56K sind die maximale Übertragungsgeschwindigkeit über
die Telephonleitung, nicht die verwendete Baudrate für
Kommunikation mit PC.
Haste Dein Terminal auch auf 9600?

nase
27.02.2008, 20:52
Fuse ist gesetzt, Terminal ist auch auf 9600 gesetzt.
Allerdings hab ich am Modem nichts eingestellt !
Denke er stellt sich automatisch ein,oder ?
Bei der Kommunikation vom Terminal zum Modem hab ich verschiedene Baudraten getestet, und hab nur bei 9600 Baud eine saubere Übertragung gehabt.
Wieso bekomme ich bei einer Verbindung zwischen Terminal und Modem bei Eingabe des Befehls "ATZ" im Terminal ein "OK" vom Modem zurück , und bei einer Verbindung vom Atmega zum Modem eine 32 vom Modem zurück ?

nase

nase
27.02.2008, 21:04
Also ich beschreibe einmal was ich im Grunde eigentlich vorhabe, vielleicht kann mir ja jemand Tips dazu geben.
Also ich möchte mit einem Atmega 8 ein Handy so ansteuern, das ich nur einen Anruf absetzen kann, also eine Nr wählen.
Hatte vor die Software erst einmal an ein Analog Modem zu testen, um dann mit funktionierender Software weiter an die Anschaltung eines Handys zu gehen. In meinem Falle ein Siemens S25.
Hab aber jetzt festgestellt, dass ich den Test an einem Analog Modem nicht ausführen kann, weil bei einer Anwahl durch das Modem erst einmal die Leitung getestet wird, ich aber keine Analog Leitung habe, und auch nicht weiß, wie oder was das Modem testet.
Also mir würden auch Tips reichen, die mir eine direkte Kommunikation mit dem Handy ermöglichen würde.

gruß Nase

Gento
27.02.2008, 23:35
http://www.sander-electronic.de/bk0001.html

In dem Buch wird mit einem Siemens Handy eine fertige Lösung beschrieben.
Wenn du im Netzt suchst findest Du auch den Code vom Autor dazu.
lg
Gento

nase
28.02.2008, 17:55
Danke , werde mir das mit dem Buch überlegen, wenn ich anders keinen Erfolg erringen kann.


nase

_werwurm_
02.03.2008, 18:36
es könnte an den steuerleitungen liegen .. das modem hat ja sicher hardwarehandshake - wenn die nicht mit bedient werden dann fühlt sich das modem vermutlich gar nicht angesprochen..

theborg
03.03.2008, 05:17
jup nen Modem braucht die kontrolleitungen du kannst sie aber beide am Modem Brücken wen du die nicht benutzen möchtest.