- 12V Akku mit 280 Ah bauen         
Seite 2 von 4 ErsteErste 1234 LetzteLetzte
Ergebnis 11 bis 20 von 34

Thema: Problem beim Ansteuern eines Nokia 3310 Display!

  1. #11
    Erfahrener Benutzer Roboter Genie Avatar von robocat
    Registriert seit
    18.07.2006
    Beiträge
    935
    Anzeige

    LiFePo4 Akku selber bauen - Video
    deine beschaltung sollte eigentlich korrekt sein, damit habe ich das display damals (mit einem atmega auch in gang bekommen.

    vielleicht kannst du von http://www.microsyl.com/nokialcd/nokialcd.html etwas abgucken.

    konkret helfen kann ich leider nicht, weil ich von PICs keine ahnung habe.

    gruesse

  2. #12
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    26.03.2006
    Ort
    WOB
    Beiträge
    630
    hm, seltsam. Da ich jetzt unsicher bin wie du das mit negativ meinst probier das mit dem Reset halt andersrum ( low, high, low) kommt mir aber komisch vor..

    Sendet dein PIC wirklich was auf SPI??
    Gruß Thomas \/

    Alles über AVR, PIC und CAN
    blog.cc-robotics.de

  3. #13
    Neuer Benutzer Öfters hier
    Registriert seit
    27.11.2008
    Beiträge
    10
    Code:
    ...
       setup_spi(spi_master|SPI_H_TO_L|SPI_CLK_DIV_4);   
     
       output_low(PIN_D3);  // Chip select      <--- low aktiviert das lcd
     
       //Display reset
    ...
    wenn das geändert ist sieht der code eigentlich fuktionstüchtig aus.

    sollte es dann immer noch nicht funktionieren:
    1. liegt es vielleicht am spi modus, der sollte auf CPOL = 0, CPHA = 0 eigenstellt sein.
    2. liegt es an der versorgungsspannung z.b. wenn die spannung einbricht wegen der spannungsteiler.
    eventuell mal die ganze hardware auf max. 3,3 volt laufen lassen und auf spannungsteiler verzichten, vorausgesetzt der pic kann auch bei dieser spannung arbeiten.

  4. #14
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    06.01.2005
    Beiträge
    103
    Hallo

    soo habe jetzt mal die änderung im code gemacht. funktioniert leider immer noch nicht.

    Ich weiß nicht ob der pic wirklich etwas über SPI sendet. kann ich das testen??

    @hansen : der pic läuft leider nicht mit 3,3 V betriebsspannung.
    was meinst du mit CPOL und CPHA??

    mfg

  5. #15
    Neuer Benutzer Öfters hier
    Registriert seit
    27.11.2008
    Beiträge
    10
    was meinst du mit CPOL und CPHA??
    beim pic heisst das anscheinend CKP & CKE und die müssen beide auf null im entsprechenden register sein.

    (SPI_L_TO_H | SPI_XMIT_L_TO_H) ??

  6. #16
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    06.01.2005
    Beiträge
    103
    hallo

    habe jetzt die beiden Bits CKE und CPE auf 0 gesetzt und es funktioniert wieder nicht.
    code schaut jetzt folgendermaßen aus: (nur die main)
    Code:
    void main() {
    // configure SPI
       // SMP  CKE  D/A  P  S  R/W  UA  BF
       //  0    0    0   0  0   0    0   0
       #bit SSPSTAT_CKE = 0xb.6
       // WCOL  SSPOV  SSPEN  CKP  SSPM3  SSPM2  SSPM1  SSPM0
       //  0      0      1     0     0      0      0      0
       // SSPM3-SSPM0: 0000 -> Master Mode; Tosc/4
       // SSP Enable Bit: 1
       #bit SSPCON1_CKP = 0xb.4
       
       SSPCON1_CKP = 0;
       SSPSTAT_CKE = 0;
    
       //int i;
       setup_spi(spi_master|SPI_H_TO_L|SPI_CLK_DIV_4);   
      
       output_low(PIN_D3);  // Chip select
      
       //Display reset
       output_high(PIN_C4); // RES  
       delay_ms(5);
       output_low(PIN_C4); // RES  
       delay_ms(10);
       output_high(PIN_C4); // RES  
       
       output_low(PIN_D2);  // D/C -> Command mode
       spi_write(0x21);     // function set: extended instruction set
       spi_write(0xC8);     // mittlerer Kontrast
       spi_write(0x06);     // Temp. Ausgleich
       spi_write(0x13);     // bias 1:48
       spi_write(0x20);     // function set: normal instruction set
       spi_write(0x0C);     // display control set normal mode
       
       output_high(PIN_D2);  // D/C -> DIsplay mode
       
       spi_write(0xFF);
       spi_write(0x00);
       spi_write(0xFF);
       spi_write(0x00);
       spi_write(0xFF);
       spi_write(0x00);
       
       
       while(true) { 
       }
    }
    also ich habe jetzt nochmal die Spannungen an den Spannungsteilern gemessen und keine Spannungseinbrüche feststellen können.

    Am SCK und SDO habe ich eine Spannung von 3,1V müsste stimmen oder??
    Vdd 3,4V
    RES 3,1V
    D/C 3,1V
    und am Vout (von dem pin geht der Elko auf Masse) habe ich 2,1V

    mfg

  7. #17
    Neuer Benutzer Öfters hier
    Registriert seit
    27.11.2008
    Beiträge
    10
    das display kann daten über das spi interface mit maximal 4mhz bearbeiten, du hast aber das spi auf 20mhz/4 eingestellt... also den teiler noch erhöhen.


    Code:
    ...
    SSPCON1_CKP = 0;              
       SSPSTAT_CKE = 0;     
    
       //int i;
       setup_spi(spi_master|SPI_H_TO_L|SPI_CLK_DIV_4);
    ...
    ok, du stellst ckp und cke auf null aber setup_spi(... SPI_H_TO_L...) überschreibt die werte doch wieder mit dem wert den SPI_H_TO_L darstellt.
    sehe ich das so richtig?

    laut der tabelle die ich gefunden habe ist SPI_H_TO_L gleich ckp=1 und cke =1.
    http://www.fernando-heitor.de/compon...g6469/#msg6469

  8. #18
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    06.01.2005
    Beiträge
    103
    hallo

    ja stimmt du hattest recht, war ein blödsinn von mir.

    Jetzt habe ich noch folgendes geändert: setup_spi(spi_master|SPI_CLK_DIV_16);

    dann habe ich das Programm in den pic gespielt und ausprobiert.
    das display hat genau das angezeigt was es sollte.

    Sooo und dann habe ich die spannungsversorgung unterbrochen und wieder angelegt und jetzt tut sich nichts mehr!! jetzt wird der display controller kaputt sein, das display tut gar nix mehr!!
    oder kann das noch andere gründe haben??

    mfg

  9. #19
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    06.01.2005
    Beiträge
    103
    ich bins nochmal.

    Das Problem hat sich gelöst. ein schlechter KOntakt an der Versorgung vom LCD.

    Vielen dank das ihr mir geholfen habt. Das Display funktioniert einwandfrei!!

    Nochmal danke!!

    mfg

  10. #20
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    06.01.2005
    Beiträge
    103
    Jetzt werd ich bald wahnsinnig!!

    Das Display hat eine zeitlang super funktioniert!! und dann wollt ichs nochmal einschalten und jetzt tut sich schon wieda nichts, obwohl ich am code nichts geändert habe.

    Jetzt habe ich mir schon gedacht das es an der 3,4V Vdd Versorgung liegt, weil im Datenblatt steht max. 3,3V. Joo und jetzt der Controller kaputt ist. kann das sein oder sollten 3,4V eh kein Problem darstellen??

    mfg

Seite 2 von 4 ErsteErste 1234 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

12V Akku bauen