logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[Rozwiązano] LCD ILI9486 z AT128 na AT1284 w bascom - jak zmigrować port G ?

Pawello 28 Wrz 2023 22:08 267 6
REKLAMA
  • #1 20751033
    Pawello
    Poziom 11  
    Witam
    Uruchomiłem LCD ILI9486 na AT128 w trybie równoległym 8 bit . wszystko działa bez problemów . Postanowiłem przenieść konfigurację na Atmege 1284 i tu zaczyna się problem. AT1284 nie ma portów G , niby nie problem ale..

    w pliku ILI948x_declarations8.inc w orginalnej postaci jest:
    Config Portc = Output
    Data_disp_low Alias Portc 'DB0 --> DB7
    Rs_disp Alias Portd.7 'Display DC RS
    Cs_disp Alias Portg.1 'Display CS
    Res_disp Alias Portg.0 'Display Reset
    Wr_disp Alias Portg.2 'Display WR
    Port_wr Alias Portg 'WR Port

    Po zamianie na AT1284
    Config Porta = Output
    Data_disp_low Alias Porta 'DB0 --> DB7
    Rs_disp Alias Portd.7 'Display DC RS
    Cs_disp Alias Portb.1 'Display CS
    Res_disp Alias Portb.0 'Display Reset
    Wr_disp Alias Portb.2
    Port_wr Alias Portb

    I tu jest problem , o ile przeniesienie 8 bit z portu C na port A nie sprawia problemu , to zamiana lini :Port_wr Alias Portg na Port_wr Alias Portb sprawia problem.
    Wyświetlacz niby startuje ,wszystko się kompiluje bez błedu , przez chwile jest część obrazu , ale potem wszystko sie wywala. Port G w AT128 jest 5 bitowy. I czy tu nie ma głównego problemu?


    Pozdr
  • REKLAMA
  • Pomocny post
    #2 20751074
    funak
    Poziom 26  
    Skoro przez chwilę jest część obrazu, to znaczy, że wszystko jest OK, należałoby się zastanowić, czemu się wywala. Może gdzieś jeszcze w kodzie korzystasz z portu B, co powoduje przejęcie kontroli nad portem B? Wystarczy nawet 1 bit. Po prostu jest inicjowany później, a tam masz SPI, fragment USART, oscylator i inne drobne rzeczy.
  • REKLAMA
  • #3 20751079
    gps79
    Poziom 35  
    Czy nowy mikrokontroler uruchamiasz z takim samym zegarem i napięciem zasilania, co stary? Może nowy jest "za szybki" dla wyświetlacza?
  • #4 20751393
    Pawello
    Poziom 11  
    To ma sens , sprawdzę

    Dodano po 1 [minuty]:

    Nowy jest starszy :) , zegary takie samem
  • REKLAMA
  • #5 20751467
    gps79
    Poziom 35  
    W źródłach biblioteki widać wysyłanie danych do wyświetlacza z pełną prędkością mikrokontrolera. Sprawdziłbym jeszcze, czy z niższym taktowaniem zegara zadziała poprawnie.
    Nie wiem dokładnie, jak to działa w bascomie, ale to, co sugerował kolega @funak ma sens, wszelkie inne funkcjonalności programu należałoby wyłączyć na czas testu.

    Dodano po 3 [minuty]:

    Zakładamy, że filtrowanie i stabilność zasilania i poprawność podłączenia kwarcu są zgodne "ze sztuką".
  • REKLAMA
  • #6 20751968
    Pawello
    Poziom 11  
    Bingo , przerzuciłem z B na C i jest OK
    Były powiązania do B dlatego sie wywalał LCD
    dzięki
  • #7 20751971
    Pawello
    Poziom 11  
    Dziękuje za pomoc , zmiana portu pomogła
REKLAMA