mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Uart GSM-Modul Problem Peter Fleury


Autor: Tommy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,
hab folgendes Problem:
Schicke einfach den at\r Befehl zum GSM Modul und sollte eigentlich 
<CR><L>OK<CR><L> zurüchbekommen. Aber irgendwie wird das letzte <L> 
immer verschluckt hab es aber eigentlich mit ausprogrammiert! Kann mir 
jemand helfen?
#include<avr/io.h>
#include<avr/interrupt.h>
#include"uart.h"
#include"timer.h"

#define F_CPU 4000000UL

// 9600 baud
#define UART_BAUD_RATE 9600
//#define UART_BAUD_RATE 4800

volatile  uint8_t time=0;

ISR(TIMER2_OVF_vect)
{  
  time++;
}
int main()
{
  unsigned char c=0;

  timer2_init();

  uart_init( UART_BAUD_SELECT(UART_BAUD_RATE,F_CPU) );
  uart1_init( UART_BAUD_SELECT(UART_BAUD_RATE,F_CPU) );


  sei();

  while(1)
  {
    if(time==2)
    {
      uart_puts("at\r");
      do
      {
        uart1_putc(c);at
      }
      while((c=uart_getc())!='\r');
        uart1_putc(c);
      do
      {
        uart1_putc(c);
      }
      while((c=uart_getc())!='\r');
      do
      {
        uart1_putc(c);
      }
      while((c=uart_getc())!='\n');
      do
      {
        uart1_putc(c);
      }
      while((c=uart_getc())!='\r');
      do
      {  
        uart1_putc(c);
      }
      while((c=uart_getc())!='\n');
  
      time=0;
    }

  }

  return(0);
}

Autor: Tommy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Denkt euch das at nach dem ersten uart1_putc(c); weg! Fehler beim posten

Autor: Stefan Ernst (sternst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was genau bezweckst du mit diesen Schleifen?
      do
      {
        uart1_putc(c);
      }
      while((c=uart_getc())!='\r');
Damit verschickst du haufenweise Nullen.

Und wenn du <CR><LF>OK<CR><LF> zurück bekommst, bleibt dein ganzen 
Konstrukt beim Warten auf das dritte <CR> hängen, denn das gibt es ja 
nicht.

Autor: gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
die meisten modems reagieren nur auf "AT\r\n"
dann kommst meist ein \r\n und danach das OK\r\n zurück

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.