-
        

Ergebnis 1 bis 4 von 4

Thema: mit Atmega32 über GSM Modem ein SMS senden

  1. #1

    mit Atmega32 über GSM Modem ein SMS senden

    Anzeige

    Aufgabenstellung:
    Über meinen Microcontroller(ATmega32) mittels dem At-Befehlssatz eine
    SMS mit meinem GSM-Modem(MC35i von Siemens) zu senden.

    Problem:
    Das SMS kommt einfach nicht an. Ich bin kein C Experte und verstehe
    nicht wieso nichts funktioniert (Liegt wahrscheindlich am Coding).
    Programmiert wird mittels PonyProg.
    Dies ist ein Teil meiner Diplomarbeit und für mich eine sehr schwere
    Hürde.

    Hier mein Coding in AVR Studio 4:

    #include <avr/io.h>
    #include <util/delay.h>

    int uart_putc(unsigned char c);
    void SendeString (char *szBuf);
    void long_delay(uint16_t ms);

    int main(void)
    {
    int c=0;

    UCSRA = 0x00; // MCU =ATMega32, F_CPU = 16Mhz, 9600 Baudrate
    UCSRB = 0x18; //8 Bit , kein Parity, 1 Stopbit, Asynchron
    UCSRC = 0x86;
    UBRRH = 0x00;
    UBRRL = 0x67;

    if(c==0)
    {
    SendeString("at+cpin=0000\r\n"); //AT-Befehl zur Pineingabe
    long_delay(2000); //2 sec warten //2 Sekunden Warteschleife
    SendeString("at+cmgf=1\r\n"); //SMS-Ein und Ausgabe erfolgt
    im 7Bit Klartext
    long_delay(2000);
    SendeString("at+cmgs=+436644209014\r\n"); //Zieladressnummer
    nach Österreich A1
    long_delay(2000);
    SendeString("Test"); //SMS-Text
    long_delay(2000);
    uart_putc(0x1A); //Hex Code fuer Strg+Z wird gesendet
    long_delay(5000);
    c=1; // Überprüfung das SMS nur 1 mal gesendet wurde
    }
    return 0;
    }

    int uart_putc(unsigned char c)
    {
    while (!(UCSRA & (1<<UDRE))) /* warten bis Senden moeglich */
    {
    }

    UDR = c; /* sende Zeichen */
    return 0;
    }

    void SendeString (char *szBuf) //Methode zum Senden
    {
    while (*szBuf++)
    {
    outp (*szBuf, UDR);
    loop_until_bit_is_set (UCSRA, UDRE);
    }
    }
    void long_delay(uint16_t ms) //Warteschleife
    {
    for(; ms>0; ms--) _delay_ms(1);
    }

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.04.2005
    Ort
    Aarau
    Alter
    34
    Beiträge
    979
    ich spiele auch gerade ein wenig mit einem Siemens-Natel herum. allerdings mit Bascom und im PDU-Format... SMS senden klappt...

    hast du mal versucht das modem am pc anzuschliessen und eine sms über das terminal zu versenden? achtung! eventuell ist ein pegelwandler notwendig...

    wenn dies funktioniert würde ich den mega32 auch einmal an den pc anschliessen und im terminal schauen was wirklich gesendet wird... Achtung! eventuell pegelwandler notwendig...

    gruss bluesmash

  3. #3
    Ja ich habe das SMS mittels Hyperterminal wegschicken können und alles hat geklappt. Es gibt nur mit dem Microcontroller Probleme...
    Es wird auch nichts in Hyperterminal gezeigt wenn ich ihn mit PC verbinde... Hab aber keine Ahnung wieso.
    lg Benni

  4. #4
    ist das thema noch aktuell?

    versuche mal ein nullmodem-Kabel bez. KEIN NUllmodemkabel zu verwenden?!

    wie uwrde das Problem im endeffekt behoben?

Berechtigungen

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