Witam wszystkich
Prosiłbym o sprawdzenie mojego kodu.
Zbudowałem prostą aplikację w c# wysyłającą na μC dane i odbierającą je z niego.
Jest to wstęp do mojego projektu, w którym mam zamiar sterować kilkoma serwami z poziomu aplikacji w c#. Wprowadzając dane w aplikacji mam zamiar sterować wyhyleniem kolejnych serw podłączonych do μC.
Wstępnie postanowiłem wykonać samą komunikację oraz sprawdzić ją na diodach.
Korzystam z "Mirkowych" funkcji do obsługi UART.
Może przedstawię moje wypociny. (choć trudno nazwać je w 100% "moimi")
Aplikacja:
(Button2 ma za zadanie wysyłać wprowadzone do labelka dane)
Kod c#:
język csharp
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Kod c na μC:
main.c
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
funkcja uartgetc() (zamieszczona w uart.c)
Edit.
W sumie może nie będę jej umieszczać, ze względu na P.Mirka, nie prosił mnie o to bezpośrednio ale chyba tak będę mieć czystsze sumienie
Ogółem problem polega na tym, że moje diody wcale nie zmieniają swojego stanu. diody są podpięte prawidłowo (sprawdziłem zwykłą funkcją PORTB ^=LED1)
Inne funkcje działają poprawnie.
Np. gdy wysyłam z mikroklocka wartość int a=10; poprzez uart_putint(a,10); to w textboxie pojawia mi się ta wartość.
Co prawda... Gdy na przemian wysyłam:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
To w textboxie wyświetla się raz 237 potem 10 potem 237 potem 10 (to byłoby ok) a tu nagle pojawia się 7! i dalej...10...237...10...
Jak to wyjaśnić?
No i główny problem, ten odbiór danych przez mikroklocka..
Poradzi ktoś?