Archiv verlassen und diese Seite im Standarddesign anzeigen : Variablendefinition mit char anstatt int ?!
Hallo Kollegen,
ich sehe immer wieder eine Variablendefenition mit "char" in der aber nur Zahlen abgespeichert werden. Warum nehmt Ihr/mann denn nicht "int"?
Hab ich da was nicht kapiert oder der Programmierer?
volatile char count;
SIGNAL (SIG_OVERFLOW1) {
if (count == 1) {
PORTB = 0xFF;
count--;
return;
}
if (count == 0) {
PORTB = 0x00;
count++;
return;
}
Gruss
Bernd
unsigned char 8Bit 0 .. 255
char, signed char 8Bit -128 .. 127
unsigned short, unsigned short int 16Bit 0 .. 65535
short, signed short, short int 16Bit -32768 .. 32767
unsigned int 16Bit 0 .. 65535
Speicherverbrauch ist weniger.
Gruß Muraad
Auf 8-Bit Controller ist einfach der Code schneller und kleiner wenn man Byte Variablen benutzt ( natürlich nur da wo es reicht ;-) ). 16-Bit Werte werden über zwei Register/Speicherzellen aufgeteilt, so dass die auch erst einzeln wieder geladen werden müssen...
Bei 16 oder mehr Bit Mikrocontrollern sieht das natürlich wieder anders aus, da kann es effektiver sein Integer Werte zu benutzen.
MfG Kjion
Kennt avr-gcc den Datentyp bool eigentlich? Oder muss ich sie mir durch Bit Strukturen selber machen? Wenn ja muss bei der deklarierung _bool oder bool geschrieben werden. Spezielle #include bei avr-gcc?
Gruß Muraad
mal mit stdbool.h probieren :>
char oder int ist bei den ATMegas egal, da sie intern mit 16 Bit arbeiten.
Nein!
Sie haben zwar einen 16-Bit Adressbus, sind aber ansonsten 8-Bit Prozessoren mit 8-Bit Registern usw. ...
MfG Kjion
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.