Forum: Mikrocontroller und Digitale Elektronik Testen der OLED für PIC24F Starter Kit 1


von Josef M. (youssefcool)


Lesenswert?

Hallo,
kann mir jemand einen Beispiel Programm schreiben, um den OLED(Display) 
der PIC24F Starter Kit 1 zum ersten mal zu testen. Da ich der 
mitgelieferte Demo Programm zu aufwendig gefunden habe.

vielen Dank
Josef

von Manuel (Gast)


Lesenswert?

Hallo Josef

Ich habe selber kein Starterkit konnte also den Code nicht testen.

Um das Beispiel zu Testen musst du einfach im mitgeliefertem Demo die 
Main-Funktion im der Datei "PIC24F Starter Kit.c" ersetzen.

Gruss Manuel
1
int main( void )
2
{
3
  GOL_MSG msg;              // GOL message structure to interact with GOL
4
5
  RGBMapColorPins();
6
7
  TRISBbits.TRISB1 = 0; // Debug
8
  LATBbits.LATB1   = 0;
9
10
  RPINR2bits.T1CKR = 37;
11
12
  #ifdef USE_FRC
13
    OSCCON = 0x1102;    // Enable secondary oscillator, use FRC oscillator
14
    CLKDIV = 0x0000;    // FRC post-scaler (1:1), USB postscaler (1:1), CPU postscaler (1:1)
15
  #else
16
    #ifdef GO_SLOW
17
       OSCCON = 0x3302;    // Enable secondary oscillator, use HS oscillator
18
       CLKDIV = 0x0080;    // (not needed - FRC post-scaler (1:1)), USB postscaler (4:1), CPU postscaler (1:1)
19
    #else
20
      OSCCON = 0x3302;    // Enable secondary oscillator, use HS oscillator
21
      CLKDIV = 0x0000;    // (not needed - FRC post-scaler (1:1)), USB postscaler (1:1), CPU postscaler (1:1)
22
    #endif
23
  #endif
24
  RCON = 0;
25
26
   
27
  ResetDevice(); // OLED initialisieren 
28
29
  while (1)
30
  {
31
    int i, j;
32
33
    // Set color to BLACK
34
    SetColor(BLACK);
35
36
    // Clear screen
37
    ClearDevice();
38
39
    // Set color to WHITE
40
    SetColor(WHITE);
41
42
    for(i = 10; i < 54; i++)
43
    {
44
      for(j = 10; j < 122; j++)
45
      {
46
        PutPixel(i,y);
47
      }
48
    } 
49
  }       
50
}

von Josef M. (youssefcool)


Lesenswert?

Hallo Manuel,
danke für deine Hilfe.
PutPixel(i,y); // du meinst hier j und nicht y
ich habe den Programm getestet und hat funktioniert. Ich hätte aber gern 
ein unabhängiges Programm Code von den Demo Programm haben zu können. 
mit dem ich lernen kann, wie ich diesen OLED Display steuern kann.

Gruß Josef

von Josef M. (youssefcool)


Lesenswert?

wie z.b. die Ausgabe auf dem OLED Display von dem Text: "Hello World"

von Manuel (Gast)


Lesenswert?

Hallo Josef

Um auf dem OLED "Hello World" auszugeben muss du dich Entscheiden ob du 
die "Microchip Graphics Library" nutzen willst oder nicht.

http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2680&dDocName=en543091

http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2680&dDocName=en547784

Falls du ohne Graphics Library arbeiten willst brauchst du nur die 
Dateien gfxepmp.c und SH1101A_SSD1303.c aus dem Demo. Darin ist die 
Grundsätzliche Ansteuerung des OLED enthalten. Als erstes musst du die 
Funktion ResetDevice() aufrufen. In dieser Funktion wird die 
Initialisierung durchgeführt. Danach kann die Funktion PutPixel() 
verwendet werden. Um nun "Hello World" zu schreiben musst du jeden 
erforderlichen Pixel selber ansteuern. Denn ein Textmodus gibt es nicht. 
Alles was auf dem Display dargestellt wird basiert auf der Funktion 
PutPixel(). Wie du siehst ist das sehr aufwendig.

Falls du die Graphics Library nutzen willst lese unter dem Link nach wie 
sie eingesetzt werden kann. Ausserdem ist der "Microchip Graphics 
Display Designer" interessant. Damit kannst du Displayoberflächen im 
MPLAB zeichnen.

http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2680&dDocName=en544475

Gruss Manuel

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.