Witam,
Mam prośbę o wyjaśnienie problemu. Napisałem sobie w programie prostą obsługę RS232, wszystko ładnie działało do momentu, kiedy nie postanowiłem włączyć optymalizacji kodu - Os (choć sprawdzałem także pozostałe opcje). Po tej operacji, zamiast normalnych znaków wysyłam jakieś krzaki. Żeby było śmieszniej, jak podam bezpośrednio wartość do rejestru UDR to wysyłanie działa ok.
Przykład kodu:
Co ciekawe na wyjściu otrzymuje taki ciąg znaków:
zamiast samych zer, jak wyłączę optymalizacje otrzymuje same zera.
UartDirection(UART_output) określa tylko kierunek przepływu danych (RS485).
Eh... już brakuje mi pomysłów :/
Mam prośbę o wyjaśnienie problemu. Napisałem sobie w programie prostą obsługę RS232, wszystko ładnie działało do momentu, kiedy nie postanowiłem włączyć optymalizacji kodu - Os (choć sprawdzałem także pozostałe opcje). Po tej operacji, zamiast normalnych znaków wysyłam jakieś krzaki. Żeby było śmieszniej, jak podam bezpośrednio wartość do rejestru UDR to wysyłanie działa ok.
Przykład kodu:
Kod: C / C++
Kod: C / C++
Co ciekawe na wyjściu otrzymuje taki ciąg znaków:
ř0ř0ř0ř0ř0ř0ř0ř0ř0ř0ř0ř0ř0ř0ř0ř0zamiast samych zer, jak wyłączę optymalizacje otrzymuje same zera.
UartDirection(UART_output) określa tylko kierunek przepływu danych (RS485).
Eh... już brakuje mi pomysłów :/