www.mikrocontroller.net

Forum: PC-Programmierung ARRAY mit Variable


Autor: gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Random ... (thorstendb) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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 :-)

Autor: gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Uhu Uhuhu (uhu)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.