Recently changed pages
BASCOM AVR Diskussionen Last Edited By:ckuehnel
( 1072 - days ago )
GSM Last Edited By:ckuehnel
( 1253 - days ago )
ARMexpress ARMmite Last Edited By:ckuehnel
( 1299 - days ago )
More »
Recently Attached Filessendto.bas Uploaded by: ckuehnel (1254 - days ago) ALARM1.BAS Uploaded by: ckuehnel (1267 - days ago) More » |
Newly added pages
GSM Author: ckuehnel ( 1253 days ago )
ARMexpress ARMmite Author: ckuehnel ( 1301 days ago )
BASCOM AVR Diskussionen Author: ckuehnel ( 1303 days ago )
Recent comments
More »
|
Jedes von mir veröffentlichte Programm ist (mit der ausgewiesenen Compilerversion) getestet!
Um Sie effektiv unterstützen zu können, hätte ich gern die Antworten auf die entsprechenden AT-Commands von Ihnen gesehen. Die bleiben Sie aber in der Regel schuldig. Hinweise hierzu hatte ich Ihnen bereits einige gegeben.
Nach meinen Ferien sehen wir weiter.
Viele Grüsse
Claus Kühnel
Erstmal schöne Ferien !
Wie bereits erw. , kämpfe ich mit dem Programm "receive_sms2.bas"
aus der Doku. GSM-Datenübertragung beim Messen und Steuern.
Ist dieses Prog. bei Ihnen je gelaufen, oder ist das eher als Theorie zu verstehen.
Da wir beide die gleiche Hardware benutzen und ich immerhin 4 Siemens S45 zur Verfügung habe, es aber treotzdem nicht schaffe
das Prog. zum laufen zu bringen gehe ich davon aus, dass es eher
Theoretischer Natur sein muss.
Eigentlich Schade.
Gruss
Walter Bregy
Senden Sie das/die File(s) zu mir und ich werde sie hochladen.
Bis zum 11.09.08 bin ich allerdings erst mal in den Ferien.
Viele Grüsse
Claus Kühnel
Jetzt komm ich mir tatsächlich etwas Dumm vor.
Mit diesem Link kann ich nur downloaden!
Gruss
Walter Bregy
Den Link Attchements anklicken und dann das File anwählen und hochladen. Das ist schon alles
Claus Kühnel
Sobald ich weiss, resp. sehe, wie ich als File hochladen kann mache ich es gerne.
Gruss Walter Bregy
Die Fehlersuche in einem solchen Programm sollte nicht so schwierig sein, denn alle Aktionen können über ein Terminalprogramm nachgestellt werden. So ist das ja auch im Beitrag erfolgt.
Um den Rückgabewert von Read_gsm() zu überprüfen, können Sie ein Print #1 einfügen. Sie sehen dann am Display den entsprechenden Wert.
Da die anderen bislang diskutierten Programme ja nun offenbar laufen, wäre es schön, wenn Sie diese hochladen. Dann wären die Änderungen vielleicht auch für andere nachvollziehbar.
Viele Grüsse
Claus Kühnel
Das Lernprogramm receive_sms1.bas habe ich übersprungen.
Momentan kämpfe ich mit dem Programm receive_sms2.bas.
Das reservierte Wort habe ich geändert und es wir wie angenommen fehlerfrei combiliert. Auch der SRAM Fehler ist weg. (war mein Fehler,
falscher Chip gesteckt).
Nur, leider macht das receive_sms2.bas trotzdem nicht was es eigenlich sollte.
Angenommen es sind keine SMS im Speicher, müsste das Prog. in der Schleife "look for received message" endlos drehen und warten bis der Status von Read_gsm(" CMHL:") <> 0 ist.
D.H. auf der Anzeige müsste immer "Wait for SMS" stehen.
Im Wirklichen Leben jedoch, springt es nach kurzer Zeit weiter und
zeigt "SMS received" und dann noch "SMS deleted" an.
Anschliessend kommt nochmals "Wait for SMS" und ein undefinierter
Zeichensalt ? - Wie gesagt, es befinden sich keine SMS im Speicher,
weder im ME noch im SM. - (Das wurde mit dem Terminal überprüft) Seltsam.
Die Vermutung liegt nahe, dass die Function Read_gsm Zw. falsche Werte zurück gibt.Warum auch immer.
Oder hätten Sie eine andere Idee um das Programm zu laufen zu brigen.
Ich hoffe, dass Sie meine ständige Fragerei nicht zu sehr Ärgert!
Gruss Walter Bregy
Bei einem Kommunikationsfehler wird zum Label Repeat gesprungen und ein Errorcounter incrementiert. So lange dieser Errorcounter kleiner als der vorgegebene Wert ist, wird eine erneute Kommunikation versucht. Ist der Wert überschritten erfolgt ein Abbruch des Programms.
Viele Grüsse
Claus Kühnel
Besten Dank für Ihre Antworten.
>Ihre Schlussfolgerung mit den Subroutinen kann ich so nicht eilen. Im Programm sendto.bas sind alle AT Commands nacheinander in einer Schleife angeordnet.
- Ja und genau da liegt das Problem.
Wird zb. in der Überprüfung des dritten AT Komandos ein fehler festgestellt, wird die Schlaufe verlassen, obwohl die ersten zwei Überprüfungen bestanden wurden.
Das Programm fängt ständig wieder von vorne an.
Gruss Walter Bregy
Ich habe mir auf Grund Ihrer Fehlerbeschreibung das Programm receive_sms1.bas angesehen. Hier ist wegen der Compilerupdates Instr als reserviertes Wort zu beachten. Die erforderlichen Änderungen habe ich eingetragen. Das Programm wird fehlerfrei comiliert.
Viele Grüsse
Claus Kühnel
Es freut mich, dass das Programm nun läuft. Bei einer konkreten Implementierung muss man immer die Bedingungen beachten, unter denen das (abgedruckte) Programmbeispiel getestet wurde. Ihre Schlussfolgerung mit den Subroutinen kann ich so nicht teilen. Im Programm sendto.bas sind alle AT Commands nacheinander in einer Schleife angeordnet.
Bitte stellen Sie doch das geänderte BASCOM-File hier für andere Anwender zur Verfügung.
Viele Grüsse
Claus Kühnel
Nun, um es vorweg zu nehmen, das Programm läuft jetzt.
Ich habe damit gelernt, dass ein Programm dass auf dem Papier läuft,
nicht zwangsläuftig im Controller laufen muss.
Wenn die einzelnen AT Komandos in Sub Routinen gelegt werden, und eine nach der anderen Abgearbeitet werden, klappts auf Anhieb.
Nb. Die Firmware des Siemens S45 spielt hier keine Rolle. Meine Versuche liefen mit der Vers. 05, 06, 14 und 21.
Also nix wie ran an das nächste Lernobjekt - "receive_sms.bas" das ebenfalls aus Ihrer Feder stammt.
Leider, happert es hier schon zu beginn ganz hefftig. Der Bascom Compiler sagt "OUT OF SRAM" . Braucht es da etwa eine spezielle
Compiler Anweisung ?
Gruss Walter Bregy
Das Programm sendto.bas ist bzgl. des Kommunikationsteils mit dem S45 praktisch identisch. Nach dem Label M1: finden Sie die gleichen Kommandos. Auch hier können Sie zur Kontrolle die Instruktion Print #1, Rc_string eintragen.
Viele Grüsse
Claus Kühnel
Danke für Ihre Nachricht.
Verstanden !
Logisch, das OK vom PC habe ich auf der Tastatur eingegeben, um auf den Befehl vom Controller zu Antworten.
Nur so konnte ich sehen ob die Komunikation vollständig abläuft.
Wenn ich das Programm in der schleife genug lange durchlaufen lasse
kommt tatsächlich irgend wann eine Verbindung zustande und die
Variable Rc_string hat dann "OK" (allerdings zeigt das LCD dann komische sachen an).
Ich schätze mal 4 durchläufe sind schon Notwändig für das OK.
Nb. das Programm Sendto.bas, dass ich hier zu Versuchszwecken
einsetze hat leider keine Subroutine Send_message.
Das Programm mit der erw. S-Routine kommt erst dann zum Einsatz,
wenn sendto eine Zuverlässige Verbingung zum Handy hinkriegt.
Viele Grüsse
Walter Bregy
Es ist nicht zielführend, die Diskussion an zwei Orten zu führen.
Um Sie unterstützen zu können, benötige ich exakte Angaben. Ich kann mir nicht vorstellen, dass die Antwort des S45 auf ATZ "ATZ und nicht OK !!" lautet. Die Antwort auf ATZ vom PC gesendet war immerhin OK.
Setzen Sie doch in der Subroutine Send_message hinter jede Instruktion Input Rc-string einfach Print #1, Rc_string und senden Sie mir jede dieser LCD-Ausgaben zu.
Viele Grüsse
Claus Kühnel
Sie haben recht! Das LCD bringt im wahrsten Sinn Licht in's Dunkle.
1. Inizialisierung = OK
2. Print "ATZ" = OK
3. Input Rc_string = ATZ und nicht OK !!
Gibt es dafür eine Simple Erklärung ?
Die Baudrate ist auf 19200 eingestellt, im Programm und im Handy.
Danke!
Ich habe die beiden mitschnitte ins Bascom Forum gestellt.
MfG Walter Bregy
http://bascom-forum.de/index.php?topic=1649.new;topicseen#new
Die Probleme liegen sicher nicht beim MAX232.
Verbinden Sie doch bitte an Stelle des Handys einen PC mit der Schaltung und schneiden Sie die Mitteilungen an das Handy mit.
Anhand dieser Aufzeichnung können wir recht schnell die Probleme isolieren.
Viele Grüsse
Claus Kühnel
Besten Dank für die Korrektur des Programms.
Nun lässt es sich einwandfrei Compilieren.
Ich habe nun mal die Schaltung gem. "GSM-Datenübertragung beim Messen und Steuern" auf dem STK500 nachgebaut. - Da läuft nix mit dem Siemens.
Verbinde ich das STK mit dem PC kann ich via Terminal mit dem
Controller auf dem STK komunizieren. - Geht einwandfrei.
Verbinde ich das Siemens S45 mit dem PC, kann ich auch via Terminal
mit dem Modem kmunizieren.
Kann es sein, dass der MAX232 auf dem STK zu wenig "Saft" an das
Handy abgibt?
- Ja, es ist enttäuschend wenn man eine Schaltung explizit nachbaut und diese will und will nicht gehen.
Kennen Sie den nötigen Trick ?
Gruss Walter Bregy