Witam,
Mam taki problem. Próbuje odpalić LCD z kontrolerem ST565 na Xmega32E5. Do tej pory korzystałem z dobrze opisanego większego kolegi (Xmega128A3U). Problem który opisze poniżej nie występuje na na Xmega128A3U używając identycznego kodu.
Kod na potrzeby testów wygląda tak:
Biblioteka do ST565 jest pobrana w ramach przykładów do jednej z książek TMF i działa znakomicie na Xmega128A3U. Niestety zamarzyło mi się odpalić tę najmniejszą Xmega32E5... I tu mam problem bo o ile napis który wysyłam na LCD (w kodzie powyżej jest opisany w linii jako "Zwykły napis") działa bez zarzutu to o tyle wygenerowane za pomocą polecenia "sprintf" lub "itoa" tablice "char" wyświetlają tylko jakieś "krzaki" na LCD..
Kod jest raczej mały zajmuje zaledwie 15% pamięci...
...a i najdziwniejsze być może na końcu... Domyślnie mam włączona optymalizację kodu w AS na poziomie "-O1" i wtedy błąd opisany powyżej występuje natomiast jak tylko zmienię optymalizację na np. "-O2/-O3" to taki kod bez problemu działa i nie obserwuje żadnych błędów z Xmega32E5..
Wiem że społeczność Xmega32E5 jest raczej skromna ale może ktoś ma pomysł o co chodzi... Niby mógłbym zwiększyć optymalizację z -O1 na np. -O2 i uznać że problem rozwiązany ale skąd bierze się to co obserwuje ? Tym bardziej że jak już wspomniałem Xmega128A3U nigdy nie powodowała takich problemów niezależnie od optymalizacji kodu itp.
Mam taki problem. Próbuje odpalić LCD z kontrolerem ST565 na Xmega32E5. Do tej pory korzystałem z dobrze opisanego większego kolegi (Xmega128A3U). Problem który opisze poniżej nie występuje na na Xmega128A3U używając identycznego kodu.
Kod na potrzeby testów wygląda tak:
Kod: C / C++
Biblioteka do ST565 jest pobrana w ramach przykładów do jednej z książek TMF i działa znakomicie na Xmega128A3U. Niestety zamarzyło mi się odpalić tę najmniejszą Xmega32E5... I tu mam problem bo o ile napis który wysyłam na LCD (w kodzie powyżej jest opisany w linii jako "Zwykły napis") działa bez zarzutu to o tyle wygenerowane za pomocą polecenia "sprintf" lub "itoa" tablice "char" wyświetlają tylko jakieś "krzaki" na LCD..
Kod jest raczej mały zajmuje zaledwie 15% pamięci...
...a i najdziwniejsze być może na końcu... Domyślnie mam włączona optymalizację kodu w AS na poziomie "-O1" i wtedy błąd opisany powyżej występuje natomiast jak tylko zmienię optymalizację na np. "-O2/-O3" to taki kod bez problemu działa i nie obserwuje żadnych błędów z Xmega32E5..
Wiem że społeczność Xmega32E5 jest raczej skromna ale może ktoś ma pomysł o co chodzi... Niby mógłbym zwiększyć optymalizację z -O1 na np. -O2 i uznać że problem rozwiązany ale skąd bierze się to co obserwuje ? Tym bardziej że jak już wspomniałem Xmega128A3U nigdy nie powodowała takich problemów niezależnie od optymalizacji kodu itp.