Hallo, ich wollte wissen, wie man bei einem mit der Tasking EDE zu programmierenden C167 einer Variable die Speichergröße von einem bit zuweiesen kann, da diese nur 1 oder 0 als Wert bekommt. (c-Code) Danke
Bitfelder gehen nur innerhalb eines zu definierenden Structs: http://www.cs.cf.ac.uk/Dave/C/node13.html#SECTION001320000000000000000 Warum nimmst du nicht einfach einen ganzen Integer? solange genug Speicher da ist, ist das auf jeden Fall die schnellste Lösung.
Jo das wäre eine variante, ha ich auch so eingerichtet, aber e geht darum, möglichst wenig speicher zu belegen
> möglichst wenig speicher zu belegen
Auch wenn du das Bitfeld definierst, und dann nur 1 Bit belegst, wird
der compiler einen Integer verbrauchen...
achso...stimmt eigentlich...naja mal schauen... andere frage: wie kann ich den myC Resetten am anfang der main funktion? oder wird das automatisch gemacht?
> wie kann ich den myC Resetten am anfang der main funktion?
Du solltest diese Funktion aufrufen:
1 | lirpa(first); |
> oder wird das automatisch gemacht?
Oder war die Frage wirklich ernst gemeint?
Lothar Miller schrieb:
> Bitfelder gehen nur innerhalb eines zu definierenden Structs
Ok, stimmt so, aber gefragt wurde nach (einzelner) Bitvariable. Der c167
hat einen Bit-adressierbaren Bereich. Bei Keil gibt es den Datentype Bit
und die Speicherklasse BDATA.
... und bei Tasking? (ist die Ausgangsfrage)
???
??? schrieb: > Lothar Miller schrieb: >> Bitfelder gehen nur innerhalb eines zu definierenden Structs > > Ok, stimmt so, aber gefragt wurde nach (einzelner) Bitvariable. Der c167 > hat einen Bit-adressierbaren Bereich. Bei Keil gibt es den Datentype Bit > und die Speicherklasse BDATA. > ... und bei Tasking? (ist die Ausgangsfrage) Die Antwort ist schnell gegeben: In C geht es überhaupt nicht. Zumindest gibt es in keinen C-Standard einen Datentyp "Bit" o.ä., auch nicht in der IEC TR 18037.
In C nicht, ja. Aber Keil unterstützt es trotzdem. Da Mikrocontroller-Programme seltenst portiert werden, ist ein Standard eh wurscht.
Und was ist jetzt mit Tasking? Hat der auch 'ne Bit-Variable? Bitte mal einer beantworten, ich schlafe schon seit Wochen schlecht :=))) ???
??? schrieb: > Und was ist jetzt mit Tasking? Hat der auch 'ne Bit-Variable? > > Bitte mal einer beantworten, ich schlafe schon seit Wochen schlecht > :=))) > > ??? Wie wärs mit Googeln? Ich glaube, du hast deinen Nick zurecht! http://webcache.googleusercontent.com/search?q=cache:fD8QzyekWeoJ:www.tasking.com/support/c166/readme_v2.1r2.html+tasking+bitvariable&cd=5&hl=de&ct=clnk&gl=de&ie=UTF-8
@Abdul K. Du weist, was das :=))) soll? Mir ist völlig egal, ob der Tasking es kann oder nicht. Nur ist die Ausgangsfrage nicht beantwortet. Alle Kommentare gehen am Ziel vorbei, auch Deiner. ???
??? schrieb: > @Abdul K. > Du weist, was das :=))) soll? Noch nie gesehen. Erklärs mir. > > Mir ist völlig egal, ob der Tasking es kann oder nicht. Nur ist die > Ausgangsfrage nicht beantwortet. Alle Kommentare gehen am Ziel vorbei, > auch Deiner. > > ??? Wow. Nun mußte ich gerade eine weitere Minute in Google investieren: http://www.google.de/search?hl=de&ie=ISO-8859-1&q=tasking+declare+bit-variable+_atbit%28%29+&meta= Vor allem hier: http://www.tasking.nl/support/c166-classic/c166_v8.7.pdf http://www.keil.com/forum/docs/thread554.asp Ja, man muß Arbeit reinstecken, sowas aber auch.
@Abdul K. Martin B. dankt Dir bestimmt. > Wow. Nun mußte ich gerade eine weitere Minute in Google investieren: > http://www.google.de/search?hl=de&ie=ISO-8859-1&q=... Aber ich finde es lustig, dass Du mit dem Wissen über das entscheidende Wörtchen
1 | _atbit() |
noch Tante Google bemühst!? ;-))) ???
??? schrieb: > @Abdul K. > Martin B. dankt Dir bestimmt. > >> Wow. Nun mußte ich gerade eine weitere Minute in Google investieren: >> http://www.google.de/search?hl=de&ie=ISO-8859-1&q=... > > Aber ich finde es lustig, dass Du mit dem Wissen über das entscheidende > Wörtchen
1 | _atbit() |
noch Tante Google bemühst!? ;-))) > > ??? Warum nicht, ich kenne Tasking nicht. Ich begreife meinen Job als Infobeschaffer. Den Rest überlasse ich dann Typen wie dir.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.