I2C LCD custom character

I2C LCD custom character
2022-02-03T13:53:32+01:00
2022-02-06T08:45:30+01:00
2022-08-12T07:15:38+02:00
ponicsan
Szevasztok!
Kérlek segítsetek!

Napok óta küzdök egy egyszerűnek tűnő proramkezdeménnyel, és mem látom a hibát...
I2C LCD-n próbálok egyéni karaktereket megjeleníteni. Eddig ment is, de pár napja valamit átírtam, és azóta semmi..... 
Vetne rá valaki egy pillantást hogy mi rontottam el?
Az LCD megy, de saját karaktert képtelen vagyok rá feltölteni (egy hete még működött a szimulációban és valós harveren is)
(a poject - MPLAB X 5.35 és a proteus - 8.11 - szimuláció mellékelve)

Hálásan KÖSZÖNÖM!
Mutasd a teljes hozzászólást!
Csatolt állomány
Probléma megoldva.

Az időzítésekkel volt a gond mintkiderült 4 MHz-es MCU-ra tervezték, és nem tűrte a 16MHz-et.
Ugyan voltak még egyéb kisebb hibák is, de azokat már gyorsan megtaláltam.....



Ha bárkinek van ideje/ötlete hogyan lehet még javítani a dolgon (mert mindíg lehet) hogy gyorsabb rövidebb legyen szivesen fogadom az ötleteket, a pontok még szabadok.
Mutasd a teljes hozzászólást!
Csatolt állomány

  • A main.c file eleve rossz karakterkodolassal van elmentve. Ilyeneket latok ha megnyitom:

    LCD_send_string( "�rv�zt�r�t�k�rf�r�g�p", 2 );
    Mutasd a teljes hozzászólást!
  • ISO-8859-1 

    LCD_init(LCD_ADDRESS, LCD_COLS, LCD_ROWS); LCD_loadcustom_chars( LCD_customchar_hun ); #ifdef LCD_CUSTOM_CHARACTERS LCD_send_string("|d|50|--------------------\0", 1); LCD_send_string( "árvíztûrõtükörfúrógép", 2 ); LCD_send_string( "|r|OK???", 3 ); LCD_send_string( "\01\02\03\04\05\06\n", 4 ); LCD_send_string("|d|50|--------------------\0", 4); __delay_ms(3000); LCD_clear(); #endif LCD_backlight(true); LCD_send_string("|d|100|....................\0", 1); LCD_send_string("|c|hello world\0", 3);
    de nem hiszem hogy ezzel lennne baja.  Úgy tünik aCGRAM-ba sem tölti fel....
    Mutasd a teljes hozzászólást!


  • Eddig ment is, de pár napja valamit átírtam, és azóta semmi..... 

    Verziókezeléssel érdemes megismerkedni. Nagyon az alapja a szoftverfejlesztésnek. git és / vagy társai..
    Mutasd a teljes hozzászólást!
  • Esetleg valakinek hasznosab ötlete?
    Mondjuk olyannak aki már legalább fényképen látott I2C LCD-t és PCF8574 -et???
    Mutasd a teljes hozzászólást!
  • Hi,

    lcd.c 94. sor

    #ifdef LCD_CUSTOM_CHARACTERS /*data = */ LCD_character( &data, LCD_customchar_hun ); // ITT lehet beaatkozni ..... #endif
    Én errefelé keresgélnék... vajon definiálva van-e?
    Mutasd a teljes hozzászólást!
  • Természetesen van.
    Az eddigi tapasztalatok szerint valószínűbb hogy valahol az időzítéssel van a gebasz.
    Most újra kezdtem a projectet, és máraz inicializálásnál találtam instabilitást, ami most megszűnni látszik...... de majd kiderűl. Rá kell szánni az időt....
    Mutasd a teljes hozzászólást!
  • Szia!

    Szerintem meg vedd komolyan az okoskodókat is, ugyanis egyáltalán nem okostojások vagyunk, hanem izzadságcseppektől elnehezült fejű fejlesztők vagyunk, akik másnak is  elmondják a tutit, mert különben nem csak magadat sz@vatod, hanem mindenki mást is ebben a körben. No és lássuk, amit meg a szerény személyem, Okos Tóni, mond, hogy a teszteléssel sem árt jóban lenni, legalább a Unit teszt erejéig. Ha ez a két dolgot, amit már elég csak pár infó erejéig tudni, fél-fél óra alatt (vagy kezdőknek két nap alatt) el tudod sajátítani, akkor van keresni valód e-területen (sic!), bár ez utóbbit nyugodtan ignorálhatod, hiszen itt mindenki a segítségnyújtásra esküdött fel. :)
    Mutasd a teljes hozzászólást!
  • Probléma megoldva.

    Az időzítésekkel volt a gond mintkiderült 4 MHz-es MCU-ra tervezték, és nem tűrte a 16MHz-et.
    Ugyan voltak még egyéb kisebb hibák is, de azokat már gyorsan megtaláltam.....



    Ha bárkinek van ideje/ötlete hogyan lehet még javítani a dolgon (mert mindíg lehet) hogy gyorsabb rövidebb legyen szivesen fogadom az ötleteket, a pontok még szabadok.
    Mutasd a teljes hozzászólást!
    Csatolt állomány
abcd