ARRAY mit Variable

Gast #892240
Lesenswert?

Hallo zusammen,
ich habe ein Probleme mit dem Array. ich habe variable x1=0, X2=1,X3=1 
usw.
ich habe ein Array so definieren char ARR[8]="0x01,0x02,0x03,0x04,0x05"; 
und ich will das ARR[0]=X1 usw. das heisst ARR[0] enthalt den wert 0 und 
ARR[1]=1; wie kann ich es in C realisiert.
Danke für Hilfe
Persönliche Seite #892251
Lesenswert?

gast wrote:
> Hallo zusammen,
> ich habe ein Probleme mit dem Array. ich habe variable x1=0, X2=1,X3=1
> usw.
> ich habe ein Array so definieren char ARR[8]="0x01,0x02,0x03,0x04,0x05";
> und ich will das ARR[0]=X1 usw. das heisst ARR[0] enthalt den wert 0 und
> ARR[1]=1; wie kann ich es in C realisiert.
> Danke für Hilfe

Der Compiler sollte dir das um die Ohren hauen. Der String passt gar 
nicht in die 8 Zeichen (7 + '\0') rein :-)

Arrays werden anders Initialisiert, was du gemacht hast, ist, einen 
String zu initialisieren.

arr[8] = {1,2,3,4,5};
oder:
arr[2][8] = { {1,2,3,4,5}, {1,2,3,4,5} };

Zugriff auf die Indizes:

arr[i] (oder arr[0] ... arr[7]);



VG,
/r.


PS: dein arr[1] müsste eigentlich 120 (0x78) ergeben :-)
Gast #892267
Lesenswert?

Hallo random,
zu beispiel ich habe ein Port definiert PortD als eingang  und kodiert 
mit adresse zB. 0x01,0x02,0x030...  .in mein main-Funktion will ich  den 
PortD anrufen nur mit dem Adressen 0x1,0x2,0x3,... definieren . wie kann 
ich das realisieren?
#892309
Lesenswert?

gast wrote:
> Hallo random,
> zu beispiel ich habe ein Port definiert PortD als eingang  und kodiert
> mit adresse zB. 0x01,0x02,0x030...  .in mein main-Funktion will ich  den
> PortD anrufen nur mit dem Adressen 0x1,0x2,0x3,... definieren . wie kann
> ich das realisieren?

Das versteh ich leider nicht: Ein Port hat in der Regel nur eine Adresse 
und aufrufen kann man ihn nicht, weil er sich aus Sicht des Programmes 
meistens wie eine Variable verhält.
Gast #892319
Lesenswert?

Hallo,
wie kann ich es in Flash speichern. ich habe sowas probiert
ARR[3]={0x01,0x02,0x03}
schreibenflash(void)
{
packet.low &=0x0F;
EECON1=0x84   // EEPGD=1; WREN=1

for(i=0; i< 64; i++)
{
 *((packet.adress)+i) = ARRmmm[i];
if((i & 0x0F)=0x0F)
{
EECON2 = 0x55;
EECON2 = 0xAA;
EECON1bits.WR=1;
}
}
}
und es founktionniert.
und ich habe PORTDbits.RDO mit 0x01 kodieren und ich will den 
PORTDbits.RDO lesen. wie mache ich?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren