-         

Ergebnis 1 bis 6 von 6

Thema: SMS Empfang auf ATMEGA 16

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    24.06.2007
    Alter
    37
    Beiträge
    61

    SMS Empfang auf ATMEGA 16

    Anzeige

    Hallo zusammen,

    spiele seit ein paar Tagen daran rum mein altes ME45 mit einem Atmega16 Testboard (KreativesChaosBoard) zur Kommunikation zu bewegen und habs jetzt endlich hinbekommen. Ziel war es bei einer bestimmten SMS am Controller was auszulösen (hier: LED blinken).
    Da ich nix fertiges zu diesem Thema gefunden habe will ich es meinen Nachfolgern etwas leichter machen. Deshalb gibts hier den Code zum nachlesen. Ich hoffe irgendwer kann damit was anfangen und es ist einigermaßen verständlich. Verbesserungsvorschläge nehme ich natürlich gerne an.

    Grüße

    Gesamtplan

    Code:
    'SMSUNREAD6.BAS: PDU SMS auslesen
    'Empfang von Siemens ME45
    $regfile = "m16def.dat"
    $crystal = 8000000
    $baud = 38400
    
    'LCD Config
    Config Lcd = 40 * 2
    Config Lcdpin = Pin , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , Db7 = Portc.7 , E = Portc.0 , Rs = Portc.1
    Config Lcdbus = 4
    Config Lcdmode = Port
    Initlcd
    Cls
    Cursor Off
    Dim Cmgl As String * 106                                    'cmgl String
    Dim Sms As String * 58                                      'reiner SMS String
    Dim Led As Bit
    On Urxc Onrxd
    Enable Urxc
    Enable Interrupts
    Config Pinb.3 = Output
    Led Alias Portb.3
    
    Smsreadroutine:                                             'Routine zum Einlesen des SMS strings
    Print "at+cmgl=0" ; Chr(13)                                 'Neue SMS da?
    Waitms 100
    
      If Len(cmgl) > 105 Then                                   'Stringpolling
        Sms = Mid(cmgl , 12 , 70)                               'SMS auslesen
        Cmgl = ""                                               'String cmgl leeren
      End If
    
    Locate 1 , 1
    Lcd Sms                                                     'Ausgabe String auf Display
    
    If Sms = "Hier SMS Empfangsstring eintragen (PDU-Mode)"then
    Led = 0
    Else
    Led = 1
    End If
    Locate 2 , 1                                                'Anzeige zum debuggen
    Lcd "Laenge von Cmgl = " ; Len(cmgl) ; " Zeichen " ; Len(sms)
    
    
    Goto Smsreadroutine
    
    
    'UART Interrupt
    Onrxd:
      If Asc(udr) = 58 Then                                     'Doppelpunkt(58) abrufen wenn at+cmgl=0 neue Nachricht
      Cmgl = ""                                                 'Cmgl wieder leeren
      Else
      Cmgl = Cmgl + Chr(udr)
      End If
    Return
    
    'Sms Aktion:
    
    
    'Sms Loeschen:

  2. #2
    Benutzer Stammmitglied
    Registriert seit
    24.06.2007
    Alter
    37
    Beiträge
    61
    Dank für euer reges Interesse (immerhin schon ein paar Views). Aber kann mir vielleicht irgendwer mal einen Kommentar abgeben bezüglich einer Codeoptimierung oder eventuellen Verbesserungsvorschlägen? Oder ist dieses Thema schon so beackert, daß es für keinen außer mir eine Hürde darstellte?

    Grüße

    Gesamtplan

  3. #3
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.07.2004
    Ort
    Südhessen
    Beiträge
    1.312
    Ich kann mit dem Thema kaum was anfangen, da ich nichtmal weiß, wie das hardwaretechnisch aussieht. Vielleicht postest du mal nen Schaltplan und Fotos?

  4. #4
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    19.08.2004
    Beiträge
    197
    Hatte beim Übersetzen eine Fehlermeldung bei der Dimensionierung der LED, ansonsten könnte man ev. das Klarlesen/schreiben der SMS noch implementieren, aber ich kenne mich mit der SMS-Geschichte auch nicht so aus, Schaltplan für Anwender wäre nicht schlecht.

  5. #5
    Benutzer Stammmitglied
    Registriert seit
    15.09.2004
    Beiträge
    30

    Re: SMS Empfang auf ATMEGA 16

    Zitat Zitat von gesamtplan
    Da ich nix fertiges zu diesem Thema gefunden habe
    Hallo,
    ist schon eine Zeitlang her, als ich mich damit befasst habe ,
    aber es gibt auch ein Beispiel in den Bascom Samples.
    Hast du das gefunden ?

    Außerdem habe ich ein Modem verwandt das den Textmode versteht ,
    das macht die Sache etwas einfacher als der PDU mode

    Grüße HH

  6. #6
    Benutzer Stammmitglied
    Registriert seit
    24.06.2007
    Alter
    37
    Beiträge
    61
    Da hab ich auch garnicht nachgeguckt. Aber noch ein kurzer Abriss zur Hardware. Obwohls da eigentlich nicht viel zu sagen gibt.

    Man braucht:
    - MAX232 am Atmel oder Evalboard mit Pegelwandler drauf
    - ein Telefon welches AT-Befehle versteht.
    - ein serielles Datenkabel (meißt ist da ein auch noch Pegelwandler integriert)
    - um das Datenkabel zum laufen zu bekommen eine Spannungsversorgung
    (bei meinem Nonamekabel musste man Pin 4 5V anlegen)
    - Die Homepage von nobbi.com und mdetroy.de um PDU ein bisschen zu verstehen.

    Dann steht dem Epfang von SMS nichts mehr im Weg.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •