Forum: Mikrocontroller und Digitale Elektronik Datenübergabe im String mit Zeiger wie?


von balu (Gast)


Lesenswert?

Hallo,

nachdem ich ehwig gesucht habe und noch immer nichts geht würde ich mal 
fragen wollen.

Ich will einen wert den ich vom Port bekomme binär aus geben indem ich 
die wertigkeit in auszugebenden string einspeichere.

ich hab jetzt mal die betreffenden frakmente kopiert .

die datenasugabe ansich funktioniert.

aber irgendwie wandelt der nicht oder schreibt nicht in den strin oder 
was weiß der teufel.
1
funktionsprototyp:
2
3
void char_to_bin_8bit (char orig, unsigned char *zeiger, char start );  // umwandlung von car to string binär
4
5
....
6
int main (void){
7
....
8
9
uchar iSta=0; char textSta[33]="\n\rCW 00000000, Grund 00, Quad 00";
10
....
11
12
for (;;){ 
13
...
14
i=CwInPin;
15
char_to_bin_8bit (i,textSta,5);  // zu wandelnder Wert, String, ab speicherstelle
16
17
....
18
19
if (textSta[iSta] && (UCSRA & (1<< UDRE))){  // Textausgabe des Status der Endlagenschalter und Grundstellungen
20
  UDR=textSta[iSta++];  //nicht auf letzte Stelle (/0) im Textfeld steht und Sender frei
21
}
22
....
23
}
24
}
25
26
unterfunktion:
27
28
void char_to_bin_8bit (char orig, unsigned char *zeiger, char start ){
29
usint i, j;
30
for (i=0;i==7; i++){
31
  j=orig%2;
32
  orig>>=1;
33
  zeiger[start+i]=j+'0';
34
  }
35
36
}

Danke für Hilfe anregungen

Werner

ps: ja es aknn sein das die wandlung so noch nicht 100% funktioniert 
aber das bekomme ich raus wenn ich daten zurück habe

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

1
for (i=0;i==7; i++){
2
:
3
}
Das soll er also machen, solange i gleich 7 ist?

Du meinst sicher:
1
for (i=0;i<7; i++){
2
:
3
}

von balu (Gast)


Lesenswert?

öhm

DANKE

ich bekomm die Motten  da denkt man es ist der zeiger oder sonstwas

ich glaube es ist besser ich setzt mich meim LID* an die kasse dürfte 
hilfreicher für die menschheit sein


feinheiten für leute die das später lesen

unsigned char *zeiger  sollte char *zeiger heisen

for (i=0;i<7; i++){

und die 7 ist eine 8


an machen tagen sieht man diese dinge irgendwie nicht

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.