Avatar billede xenocypraz Nybegynder
11. juni 2004 - 14:02 Der er 7 kommentarer og
1 løsning

Short til char, 2 byte til 2 1 bytes værdier.

Hejsa, titel er måske lidt kryptisk.

Men det der skal ske er:

Jeg har lavet en RS232 driver til en MC68331 Processor,
dette kører også fint. Men jeg kan kun overføre en karakter af gangen.
Jeg skal have overført en temperatur, og denne består af 2 tal.
Denne variabel skal jeg have delt i 2, så jeg kan over føre den til min driver.

Så en variabel med fx 26
bliver til til 2, en på 2, og en på 6.

Mvh

Nikolaj
Avatar billede arne_v Ekspert
11. juni 2004 - 14:08 #1
Jeg formoder at de værdier er binære så den kan faktisk være i en byte ...

char b2[2];
short s;

s = *((short *)&b2);

b2[0] = *((char *)&s);
b2[1] = *(((char *)&s)+1);
Avatar billede xenocypraz Nybegynder
11. juni 2004 - 14:18 #2
sorry, mig der skrev forkert, den kan kun over føre 4 bit, en halv byte per gang.
Avatar billede xenocypraz Nybegynder
11. juni 2004 - 14:22 #3
det register jeg skriver til er på 8 bit, og der skal jo 4 bit til for at angive en ascii værdig,

jeg skal derfor bruge 8 bit for at skrive et ascii tegn. med undtagelse af nogle få...
Avatar billede arne_v Ekspert
11. juni 2004 - 14:57 #4
Der skal 8 bit til at angive en ASCII værdi.

Er problemet at du skal pakke ug udpakke 4 bit ?
Avatar billede arne_v Ekspert
11. juni 2004 - 14:58 #5
b8 = (b4a << 4) | b4b;

og

b4a = (b8 >> 4) & 0x0F;
b4b = b8 & 0x0F;
Avatar billede xenocypraz Nybegynder
14. juni 2004 - 13:48 #6
Jeg takker mange gange for hjælpen,

tier = gennemsnit_temp / 10;
ener = gennemsnit_temp % 10;
snit_til_rs[0] = tier + 48;
snit_til_rs[1] = ener + 48;

Sådan gjorde jeg, men den kode du smed, virker også :-) jeg takker mange gange.
Hvis du gider smide et svar så får du point.
Avatar billede arne_v Ekspert
14. juni 2004 - 13:55 #7
Ah - på den måde

Jeg kan godt ligge et svar, men min kode gør faktisk noget lidt andet end din
Avatar billede xenocypraz Nybegynder
14. juni 2004 - 19:05 #8
Ja, det ved jeg godt den gør, men det du skrev var også det første som ingeniøerne nede ved os sagde :-)

jeg takker for din hjælp alligevel :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester