Witam, kilka razy do roku zdarza mi się coś naskrobać w C. Ostatnio padło na komunikacje między dwoma atmegami 8. Biblioteka pochodzi z projektu z BB jak dobrze pamiętam. (te akurat miałem na dysku, płytki od GB nie mam pod ręką)
Inicjalizacja przebiega standardowo.
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Później wiadomo inicjalizuję komunikację w pętli głównej:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
W dalszej części pętli while(1) używam takich funkcji jak np.
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Właśnie po użyciu np. funkcji uart_puts program zawiesza się na dłuższą chwilę. Po uarcie nic nie leci ani nie reaguje na odebrane wartości.
W pętli dioda ma migać co 200ms, robi kilka mignięć a później następuje przycięcie, miga dopiero po jakimś czasie. Nic takiego się nie dzieje do póki funkcję z biblioteki od uarta zostawię w spokoju. Tylko inicjalizacja jakoś przechodzi.
Jak to jest, że kopiując te same biblioteki i używając tych samych funkcji w jednym projekcie to może działać a w innych już nie? Nawet użyłem funkcji i konfiguracji z noty katalogowej i tam normalnie te procki przesyłają dane.
Może ktoś z was sprawdzić tą inicjalizację bo ręce mi już opadają.