Ilidan18 napisał:
Ogólnie mam 3 pytanka.
1. Czy ten kod w komunikacji AVR-PC zwróci mi 'T' czy popełniam jakiś błąd?
Przede wszystkim źle napisany kod i tu popełniasz błąd. Poza tym jak chcesz efektywniej działać z modemem to wyłącz sobie echo poleceniem ATE0, bo do niczego ci to nie potrzebne a tylko będzie ci (skoro początkujesz jak widzę z pisaniem w ogóle programów w C) przeszkadzać. Musisz się podszkolić w programowaniu asynchronicznym. Przydałoby się jakieś timery programowe zastosować przy komunikacji z modemem. No a przede wszystkim to bez użycia buforowania np buforów cyklicznych przynajmniej dla odbioru danych z RS232 to będzie strasznie ciężko.
Ilidan18 napisał: 2. Korzystam z wewnętrzne oscylatora 1Mhz, czy to wystarczy do BAUD 115200 ?
Posłuchaj - zajrzyj sobie w DOWOLNEJ nocie AVR do rozdziału UART/USART i tam przejdź do ostatniego podrozdziału. Ujrzysz tabelki z różnymi częstotliwościami taktowania począwszy od 1MHz i z typowymi prędkościami baud rate a do tego z procentem błędów. Zapamiętaj że możesz spokojnie używać tej prędkości z tabelki gdzie procent błędów jest mniejszy = 2% ..... Więc dla 1MHz jak zobaczysz to w ogóle zapomnij o 115200. Z tymi tabelkami nie będziesz musiał nikogo pytać o prędkość przy jakimś tam taktowaniu - zawsze sam zobaczysz
Ilidan18 napisał: 3. Czy zamiast całego stringa "AT+CMGS" moge wysyłać modułowi znak po znaku?
A czym się różni wysłanie stringa od znaku po znaku ???? niczym - tylko czasem pomiędzy wysyłaniem. Wysyłając znak po znaku w końcu się zakałapućkasz .... toż wysłanie stringa w C mając funckcję do wysłania pojedynczego znaku np uart_putc() to proste - sam zobacz
Zaloguj się, aby zobaczyć kod