Forum: Mikrocontroller und Digitale Elektronik eeprom in flash Programm einbinden.


von Domi S. (sandi)


Angehängte Dateien:

Lesenswert?

Liebe myC Gemeinde,

meine kleine Anfängerfrage:(im Tutorial hab ich dazu nichts sinvolles 
gefunden)

Wie kann ich das folgende Programm im Flash so einbinden, dass ich z.b. 
nur noch

(angehängtes Programm setzt alle codes für die Buchstaben fest habs im 
avr studio 4 geschrieben)


  for(i=0; i>8; i++);
   PORTH = ledA[i];
   PORTF = led[i];

schreiben muss um den Buchstaben A in meiner led matrix anzuzeigen (es 
ist eine 8x8 matrix)
ehrlich gesagt mein Wissen im Bereich Programmieren ist sehr sehr 
beschränkt und sehr warscheinlich zu klein um dieses Projekt zu 
realisieren, aber ich will es trozdem fertig bringen.

Danke für Eure Hilfe

mfg sandi

von Domi S. (sandi)


Lesenswert?

kann hier niemand mehr weiterhelfen ? Bräuchte dringend eine Antwort

Danke

von XXX (Gast)


Lesenswert?

Hallo

Zeig erstmal dein C-Programm. Mit dem.aps kann man ja nichts anfangen.

Allein in deinen 3 Code-Zeilen sind bereits einige Sachen drin,
die du so garantiert nicht haben möchtest. Da kommt eine Menge
Arbeit auf dich zu.

Gruß
Joachim

von Domi S. (sandi)


Lesenswert?

xD ok du wolltest das Programm

EEprom soll mald das hier bekommen:



#include <avr/io.h>


int main (void){

int led[8];
int ledA[8];
int ledB[8];
int ledC[8];
int ledD[8];
int ledE[8];
int ledF[8];
int ledG[8];
int ledH[8];
int ledI[8];
int ledJ[8];
int ledK[8];
int ledL[8];
int ledM[8];
int ledN[8];
int ledO[8];
int ledP[8];
int ledQ[8];
int ledR[8];
int ledS[8];
int ledT[8];
int ledU[8];
int ledV[8];
int ledW[8];
int ledX[8];
int ledY[8];
int ledZ[8];

led[0] = 0x01;
led[1] = 0x02;
led[2] = 0x04;
led[3] = 0x08;
led[4] = 0x10;
led[5] = 0x20;
led[6] = 0x40;
led[7] = 0x80;

ledA[0] = 0x00;
ledA[1] = 0x18;
ledA[2] = 0x24;
ledA[3] = 0x42;
ledA[4] = 0x7e;
ledA[5] = 0x42;
ledA[6] = 0x42;
ledA[7] = 0x42;

ledB[0] = 0x00;
ledB[1] = 0x78;
ledB[2] = 0x44;
ledB[3] = 0x44;
ledB[4] = 0x78;
ledB[5] = 0x44;
ledB[6] = 0x44;
ledB[7] = 0x78;

ledC[0] = 0x00;
ledC[1] = 0x1C;
ledC[2] = 0x22;
ledC[3] = 0x40;
ledC[4] = 0x40;
ledC[5] = 0x40;
ledC[6] = 0x22;
ledC[7] = 0x1C;

ledD[0] = 0x00;
ledD[1] = 0x78;
ledD[2] = 0x44;
ledD[3] = 0x42;
ledD[4] = 0x42;
ledD[5] = 0x42;
ledD[6] = 0x44;
ledD[7] = 0x78;

ledE[0] = 0x00;
ledE[1] = 0x7E;
ledE[2] = 0x02;
ledE[3] = 0x02;
ledE[4] = 0x78;
ledE[5] = 0x02;
ledE[6] = 0x02;
ledE[7] = 0x7E;

ledF[0] = 0x00;
ledF[1] = 0x7E;
ledF[2] = 0x02;
ledF[3] = 0x02;
ledF[4] = 0x78;
ledF[5] = 0x02;
ledF[6] = 0x02;
ledF[7] = 0x02;

ledG[0] = 0x00;
ledG[1] = 0x1C;
ledG[2] = 0x22;
ledG[3] = 0x02;
ledG[4] = 0x4E;
ledG[5] = 0x42;
ledG[6] = 0x22;
ledG[7] = 0x1C;

ledH[0] = 0x18;
ledH[1] = 0x24;
ledH[2] = 0x42;
ledH[3] = 0x7E;
ledH[4] = 0x42;
ledH[5] = 0x42;
ledH[6] = 0x42;
ledH[7] = 0x42;

ledI[0] = 0x18;
ledI[1] = 0x18;
ledI[2] = 0x18;
ledI[3] = 0x18;
ledI[4] = 0x18;
ledI[5] = 0x18;
ledI[6] = 0x18;
ledI[7] = 0x18;

ledJ[0] = 0x3E;
ledJ[1] = 0x10;
ledJ[2] = 0x10;
ledJ[3] = 0x10;
ledJ[4] = 0x10;
ledJ[5] = 0x48;
ledJ[6] = 0x48;
ledJ[7] = 0x30;

ledK[0] = 0x00;
ledK[1] = 0x44;
ledK[2] = 0x48;
ledK[3] = 0x50;
ledK[4] = 0x60;
ledK[5] = 0x50;
ledK[6] = 0x48;
ledK[7] = 0x44;

ledL[0] = 0x04;
ledL[1] = 0x04;
ledL[2] = 0x04;
ledL[3] = 0x04;
ledL[4] = 0x04;
ledL[5] = 0x04;
ledL[6] = 0x04;
ledL[7] = 0x3C;

ledM[0] = 0x00;
ledM[1] = 0xC3;
ledM[2] = 0xA5;
ledM[3] = 0x99;
ledM[4] = 0x81;
ledM[5] = 0x81;
ledM[6] = 0x81;
ledM[7] = 0x81;

ledN[0] = 0x00;
ledN[1] = 0x00;
ledN[2] = 0x42;
ledN[3] = 0x62;
ledN[4] = 0x52;
ledN[5] = 0x4A;
ledN[6] = 0x46;
ledN[7] = 0x42;

ledO[0] = 0x00;
ledO[1] = 0x00;
ledO[2] = 0x18;
ledO[3] = 0x24;
ledO[4] = 0x42;
ledO[5] = 0x42;
ledO[6] = 0x24;
ledO[7] = 0x18;

ledP[0] = 0x00;
ledP[1] = 0x38;
ledP[2] = 0x24;
ledP[3] = 0x24;
ledP[4] = 0x38;
ledP[5] = 0x04;
ledP[6] = 0x04;
ledP[7] = 0x04;

ledQ[0] = 0x00;
ledQ[1] = 0x00;
ledQ[2] = 0x18;
ledQ[3] = 0x24;
ledQ[4] = 0x42;
ledQ[5] = 0x4A;
ledQ[6] = 0x24;
ledQ[7] = 0x1B;

ledR[0] = 0x00;
ledR[1] = 0x38;
ledR[2] = 0x24;
ledR[3] = 0x24;
ledR[4] = 0x38;
ledR[5] = 0x28;
ledR[6] = 0x24;
ledR[7] = 0x22;

ledS[0] = 0x00;
ledS[1] = 0x18;
ledS[2] = 0x24;
ledS[3] = 0x04;
ledS[4] = 0x18;
ledS[5] = 0x20;
ledS[6] = 0x24;
ledS[7] = 0x18;

ledT[0] = 0x00;
ledT[1] = 0x7E;
ledT[2] = 0x08;
ledT[3] = 0x08;
ledT[4] = 0x08;
ledT[5] = 0x08;
ledT[6] = 0x08;
ledT[7] = 0x08;

ledU[0] = 0x00;
ledU[1] = 0x00;
ledU[2] = 0x00;
ledU[3] = 0x44;
ledU[4] = 0x44;
ledU[5] = 0x44;
ledU[6] = 0x44;
ledU[7] = 0x3A;

ledV[0] = 0x00;
ledV[1] = 0x00;
ledV[2] = 0x00;
ledV[3] = 0x44;
ledV[4] = 0x44;
ledV[5] = 0x44;
ledV[6] = 0x28;
ledV[7] = 0x08;

ledW[0] = 0x00;
ledW[1] = 0x00;
ledW[2] = 0x00;
ledW[3] = 0x54;
ledW[4] = 0x54;
ledW[5] = 0x54;
ledW[6] = 0x54;
ledW[7] = 0x28;

ledX[0] = 0x00;
ledX[1] = 0x00;
ledX[2] = 0x00;
ledX[3] = 0x44;
ledX[4] = 0x28;
ledX[5] = 0x08;
ledX[6] = 0x28;
ledX[7] = 0x44;

ledY[0] = 0x00;
ledY[1] = 0x00;
ledY[2] = 0x44;
ledY[3] = 0x44;
ledY[4] = 0x28;
ledY[5] = 0x08;
ledY[6] = 0x08;
ledY[7] = 0x08;

ledZ[0] = 0x00;
ledZ[1] = 0x00;
ledZ[2] = 0x7E;
ledZ[3] = 0x20;
ledZ[4] = 0x10;
ledZ[5] = 0x08;
ledZ[6] = 0x04;
ledZ[7] = 0x7E;

}

zur Erklärung das da oben geschriebene sind die einzelnen  Hexcodes für 
die LEDs in X Richtung für die einzelnen Buchstaben ist das array mit 
dem namen "led+Buchstabe" z.b. "ledA" für A "ledB" für B etc
das Array mit dem Namen "led" ist das Array für die Y Richtung


und das flashprogramm sollte etwas in dieser Richtung sein :

for(i=0; i>8; i++);
   PORTH = ledA[i];
   PORTF = led[i];

mfg Domi

von Thomas E. (thomase)


Lesenswert?

Auch wenn du es nicht hören willst, aber das nächste, was du machen 
solltest, ist, dir ein C-Buch zuzulegen.

Wenn du das durchhast, arbeitest du das Tutorial von Anfang an durch.

Domi S. schrieb:
> EEprom soll mald das hier bekommen:
Das EEPROM brauchst du überhaupt nicht. Deine Buchstaben sind Konstanten 
und kommen ins Flash.

mfg.

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.