Jak wyslac komende AT przez serial port ?

0

Wrzucilem na formatke komponent SERIAL PORT w niej ustawilem paramtery.
Wstawilem 4 guziki

OPEN : otwiera port: serialPort1.Open();
INIT : mial wysylac bufor do urzadzenia przestawiajac go w tryb textowy: serialPort1.Write("AT+CMGF=1" + ((char)26).ToString());
SEND : mial wyslac smsa: serialPort1.Write("AT+CMGS=\"603100100\"<CR>Text to be sent" + ((char)26).ToString());
CLSOE : zamyka port: seriaPort1.Close();

Jeszcze nie ustawilem odpowiedzi ale chodzi o to ze aby zakonczyc wprowadznaie textu gdy uzywam konsoli musze
wcisnac CTRL+Z ten wlasnie znak to ascii(26) i to jego dodaje wlasnie na koncu jednak sms nie dochodzi
Czy wiecie co moze byc nie tak ? czy kompletnie zle robie ?

0

wydaje mi się, że komedna kończy się (char)27 a nie (char)26. i na pewno <CR> powinienes zastapic: (char)13. ja jak wysyłałem to wysyłałem <CR><LF> (ASCII: 13,10) nie jestem pewien czy ma to znaczenie

0

Musze chyba zrobic odczyt bufora bo nie wiem czy wysylam i komendy sa akceptowane czy error. Ale zadne z tych kombinacji nie dziala z poziomu programu. a odczyt to jest w tym porcie jakis odczyt string czy trzeba sie bawic w zlepianie danych z bufora znak po znaku ?

Dodane:
W Serial Port na Data Recived dodalem kod ktory mial odbierac dane:

byte[] data = null;
            if (serialPort1.BytesToRead > 0)
            {
                data = new byte[serialPort1.BytesToRead];
                serialPort1.Read(data, 0, data.Length);
            }
            textBox2.Text = data.ToString();

Po wyslaniu danych nawet samo init nie sprawilo ze odebralem jakies dane :(

1 użytkowników online, w tym zalogowanych: 0, gości: 1