Skocz do zawartości

ATmega16-SiemensC35 Prawdopodobnie błąd w kodzie.


1107halil

Pomocna odpowiedź

Witam,
mam problem z komunikacją ATmegi16 z Siemensem C35. W elektronice dopiero raczkuje i nie bardzo radze sobie z rozwiązywaniem problemów, które wykraczają poza schematy. Przypuszczam, że w kodzie znajdują się jakieś oczywiste błędy. Telefon nie odpowiada na żadną komendę AT mimo iż na terminalu kompa wszystko gra. Połączenie uC i telefonu skomplikowane nie jest (Rezystor, dioda Zenera- daruje sobie schemat) więc tutaj powinno być dobrze. Programuje w C, jeżeli ktoś byłby w stanie pomóc to proszę o poprawki w tym języku.

Ważniejsze części kodu:

#define F_CPU 1000000UL
#include <avr/io.h> 
#include <util/delay.h> 
#include <stdio.h> 

void ustaw_USART(void) 
{ 
UBRRH=0; 
UBRRL=2; 
UCSRB =_BV(RXEN)|_BV(TXEN); 
UCSRC|=_BV(URSEL)|_BV(UCSZ1)|_BV(UCSZ0); 
} 

main() 
{ 

ustaw_USART(); 
//..........

while(! (UCSRA&(1<<UDRE)) ); //przykład wysłanie 'A'
  UDR=(unsigned char)'A'; 

//.........

} 

Nie korzystam z zewnętrznego kwarcu. Wewnętrzny powinien (mam nadzieje) ma 1MHz.

Redefiniowałem F_CPU w pliku makefile z 'iluśtam' na 1000000 ale i to nie pomogło.

Nie mam zielonego pojęcia. Kolega z którym buduje ten twór sugeruje wpływ programatora (AVR PROG usb programmer), który może zmieniać F_CPU na 6MHz w przypadku złych ustawień (nie kojarzę jak to działa, dlatego pisze to tak niefachowo)

Link do komentarza
Share on other sites

a jaki masz baud (predkosc transmisji) ? na 1mhz bys musial miec baud od 1200 do 4800 zeby miec blad 0,16%

Na c sie nie znam wiec ci nie pomoge

[ Dodano: 31 Mar 09 04:17 ]

Najlepiej przestaw na zew kwarc np. 8mHz jest bardziej stabilny.

Jak chcesz uzywac wew. generatora to poczytaj tematy na elektrodzie, jest taki rejestr ktory musisz dobrze ustawic inaczej moga wystapic bledy (jak sie nazywa ten rejestr nie pamietam, na elektrodzie napewno znajdziesz)

Link do komentarza
Share on other sites

Dzięki za odpowiedz i przepraszam że odpisuje dopiero teraz. Problem już rozwiązany, rzeczywiście chodziło o kwarc. Wew był inny niż zakładaliśmy. Prawdopodobnie też użyjemy zew żeby zredukować błąd. Był jeszcze problem z wtyczką ale już jest spoko.

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.