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
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 | }
|
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
wie z.b. die Ausgabe auf dem OLED Display von dem Text: "Hello World"
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.