Programmierfrage

Gast #631130
Ich nehme jetzt einfach mal an, dass Du einmal die unteren 8bit und zum 
anderen die oberen 4bit der 12bit variablen meinst ?!

In diesem Fall:

unsigned int  12bit_var
unsigned char lower;
unsigned char upper;

lower = (unsigned char)(12bit_var & 0x00FF);
upper = (unsigned char)(12bit_var & 0x0F00);
Gast #631138
eher so:
1
unsigned uint16_t     v12bit_var
2
unsigned uint8_t      lower;
3
unsigned uint8_t      upper;
4

5
lower = (uint8_t) ( v12bit_var & 0x00FF);
6
upper = (uint8_t) ( (v12bit_var & 0x0F00) >> 8 );
Gast #631163
Wenn du die 16-Bit Variable schon in zwei einzelne Bytes zerlegt hast wo 
ist dann das Problem? Wie oben schon geschrieben wurde gibt es keine 
4-Bit Datentypen.
#631166
Mathe Fan wrote:
> übrigens die 16 Bit Variable ist schon in 2Byte zerlegt!!!!
Ach je, der Mathe Fan wieder. Bitte kauf Dir endlich ein C-Buch! Und 
lies es auch. Dann erkennst Du vielleicht auch, dass Du die Variable, 
wenn sie denn schon in zwei Byte-Variablen aufgeteilt ist, nicht weiter 
aufteilen kannst. Ein Byte ist die kleinste unter C auf einem 
8-Bit-System ansprechbare Einheit.
OP #631169
nein,ich habe sie nicht zerlegt,das ist der Timer1 und ist schon in 2 
Bytes zerlegt.
und ich hab eine Variable mit 12 Bits,die ich in 2 Teile zerlegen muss:8 
und 4 Bits.und so kann ich den Inhalt des Timers in der 2 Teilen 
kopieren.
#631173
Mathe Fan wrote:
> nein,ich habe sie nicht zerlegt,das ist der Timer1 und ist schon in 2
> Bytes zerlegt.
> und ich hab eine Variable mit 12 Bits,die ich in 2 Teile zerlegen muss:8
> und 4 Bits.und so kann ich den Inhalt des Timers in der 2 Teilen
> kopieren.
In C kannst Du auf 16-Bit-I/O-Register (bis auf wenige Ausnahmen) direkt 
als solche zugreifen. Dafür brauchst Du die Variable nicht zu zerlegen. 
Und ein Tiomer-I/O-Register ist KEINE Variable, sondern ein 
I/O-Register.

EDIT:
Und versuch bitte mal, Deine Anfragen so zu formulieren, dass es für 
andere auch ohne tausend Rückfragen verständlich ist. Wenn Du erst 
schreibst, Du weißt nicht, wie Du eine Variable aufteilen kannst, und 
dann sagst, die Variable sei schon aufgeteilt, dann macht das wenig 
Sinn.
OP #631174
hey du johnny-m ich weiß es schon und deine verdammte scheiße Hilfe 
brauche ich auch nicht.
ein arrogante mensch wie du hab ich niemamls begegnet.
ich bin anfänger und motiviert Microcontroller zu programmieren.
eins muss dir klar sein,ich lass mich nicht so schnell von jemandem wie 
du demotivieren!!!!!!!!
#631177
Mathe Fan wrote:
> hey du johnny-m ich weiß es schon und deine verdammte scheiße Hilfe
> brauche ich auch nicht.
> ein arrogante mensch wie du hab ich niemamls begegnet.
> ich bin anfänger und motiviert Microcontroller zu programmieren.
> eins muss dir klar sein,ich lass mich nicht so schnell von jemandem wie
> du demotivieren!!!!!!!!
OK, damit ist alles gesagt!
#631182
@ Mathe Fan (bob37)

>hey du johnny-m ich weiß es schon und deine verdammte scheiße Hilfe
>brauche ich auch nicht.
>ein arrogante mensch wie du hab ich niemamls begegnet.
>ich bin anfänger und motiviert Microcontroller zu programmieren.
>eins muss dir klar sein,ich lass mich nicht so schnell von jemandem wie
>du demotivieren!!!!!!!!

http://www.duden.de

http://www.amazon.de/Dativ-ist-dem-Genitiv-sein/dp/3462034480/ref=pd_bbs_sr_1/302-0447979-4536062?ie=UTF8&s=books&qid=1187255560&sr=8-1

SCNR
;-)

MfG
Falk
Gast #631183
@Mathe Fan:

Johnny ist immer hart im Ton, aber er hat recht.

DU musst dein Problem so formulieren, dass wir (andere) es 
nachvollziehen können.

Also kannst du nicht erst schreiben:
>>ich möchte eine unsigned variable von 12 bit in zwei Variablen teilen

und dann:
>>übrigens die 16 Bit Variable ist schon in 2Byte zerlegt!!!!

Also Was denn nun???

Und die vielen Ausrufezeichen suggerieren, dass du jemand versucht was 
zu sagen, aber DU Hilfe haben MÖCHTEST...

Also Poste doch mal die Deklaration, sowie den Code, wo die 
16/12bit-Variable (was nun??) "befüllt" wird...

Und dann nochmal, was genau soll gemacht werden..
Gast #631194
>ein 12 bit Variable in

Es gibt keine 12bit Variablen (in C).

vielleicht ja in Bascom ;-))

POSTE MAL:
>>Also Poste doch mal die Deklaration, sowie den Code, wo die
>>16/12bit-Variable (was nun??) "befüllt" wird...
!!
#631224
@Matthias:
> Johnny ist immer hart im Ton,...
Nicht immer. Nur, wenn sich ein Fragensteller sichtbar absolut keine 
Mühe bei der Formulierung seiner Frage gibt und vorher schon in mehreren 
Threads mit Stilblüten unterschiedlicher Art geglänzt hat (s.a. dezenter 
Hinweis von "Hmmm...").

Ich hab auch keine Probleme damit, wenn jemand kein perfektes Deutsch 
hinlegt und ich spare mir daher auch i.d.R. Hinweise auf grammatische 
Fehler. Bei manchen bringt es auch was, wenn man deutlich darauf 
hinweist, dass mit einer solchen Fragestellung niemand wirklich konkret 
was anfangen kann. Wenn derjenige dann aber ausfällig wird und mit 
Kraftausdrücken um sich wirft, dann ist eben H&M verloren...
Gast #631334
Gegenfrage:
Wenn du schon mit einem Word den timer register auslesen kannst, wieso 
willst Du den dann zerlegen??
Falls du wirklich die einzelnen Byte haben willst dann ließ sie doch 
schon per inline asm aus,..(meine meinung, geht schneller und 
expliziter, ist ja aber bekanntlich geschmackssache),...

Also nochmal zum mitschreiben:
Es ist bekannt was du machen willst, aber wieso??

(Auß dieser Fragestellung ergaben sich schon so manches mal eine neue 
herangehensweise,..)

grüüüüüße

p.s.: ich liebe senf

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 19 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.