Witam wszystkich,
Mam taki układ:
ATmega16L taktowana kwarcem 8MHz, do tego podłączony jest układ L9637D do komunikacji z samochodem. Dodatkowo nóżka RXD procesora jest podciągnięta rezystorem 330Ohm do +5V (zasilanie). Bez tego rezystora w ogóle nie udało się połączyć z komputerem samochodu. Okazało się, ze teraz (temp +5C) nie ma komunikacji... sprawdzałem program, nic nie zmieniłem od ostatniego razu kiedy testowałem w aucie... jedyna różnica to taka, że wtedy temperatura byłą około 12C.
Nie wierzyłem i sprawdziłem w domu... w temperaturze pokojowej uart działa normalnie, odbiera dane... natomiast kiedy na procesorze chwilę leży kostka lodu, wszystko się zawiesza.. Najprawdopodobniej wewnątrz funkcji odbierającej dane... Kiedy chwilę potrzymam palec na procesorze, znów działa... Dodam, że ten procesor na płytce testowej wiele przeszedł, nieraz się spięcia zdarzały...
poniżej moje funkcje odbioru z UART:
Nagłówek:
Oraz procedura inicjalizacji komunikacji z autem:
Trochę zgłupiałem na takie zachowanie, spróbuję z nowym procesorem, ale mam jeszcze nadzieję że to błąd w programie:)
Pozdrawiam i z góry dziękuję za pomoc
Mam taki układ:
ATmega16L taktowana kwarcem 8MHz, do tego podłączony jest układ L9637D do komunikacji z samochodem. Dodatkowo nóżka RXD procesora jest podciągnięta rezystorem 330Ohm do +5V (zasilanie). Bez tego rezystora w ogóle nie udało się połączyć z komputerem samochodu. Okazało się, ze teraz (temp +5C) nie ma komunikacji... sprawdzałem program, nic nie zmieniłem od ostatniego razu kiedy testowałem w aucie... jedyna różnica to taka, że wtedy temperatura byłą około 12C.
Nie wierzyłem i sprawdziłem w domu... w temperaturze pokojowej uart działa normalnie, odbiera dane... natomiast kiedy na procesorze chwilę leży kostka lodu, wszystko się zawiesza.. Najprawdopodobniej wewnątrz funkcji odbierającej dane... Kiedy chwilę potrzymam palec na procesorze, znów działa... Dodam, że ten procesor na płytce testowej wiele przeszedł, nieraz się spięcia zdarzały...
poniżej moje funkcje odbioru z UART:
Nagłówek:
Kod: C / C++
Kod: C / C++
Oraz procedura inicjalizacji komunikacji z autem:
Kod: C / C++
Trochę zgłupiałem na takie zachowanie, spróbuję z nowym procesorem, ale mam jeszcze nadzieję że to błąd w programie:)
Pozdrawiam i z góry dziękuję za pomoc