But if I define the 'nibble' data types myself (or use the bit packed data types provided by a 'system' unit for the particular chip), they would stay that way?
Did I understand correct of how to use a bit packed structure in code? In my original question I wondered if FPC would provide a bit data type in the future of MCU compiler development. Smaller chips are bit accessible. If I may explain by example of hypotheses and use a code example: It would be nice to see: type TPortAStruct = bitpacked record Low = 0..7; High = 8..15; end; var PortA : ^TPortAStruct; MyLatch : ^Bit; //the future bit data type being 1 bit wide MyRedLED : ^Bit; //and now to use begin //set up the adresses PortA := $0A01; //the supposed address for port A on this chip MyLatch := PortA.Low[3]; //the hypotheses: MyLatch is on PortA, low byte, bit 3 MyRedLED := PortA.High[0]; //My red LED is on PortB, high byte, bit 0 //now only use the bits in the registers MyLatch^ := True; MyRedLED^ := True; //now use the whole register PortA^ := 0; end. On Wed, Jul 29, 2009 at 5:41 PM, Jonas Maebe <jonas.ma...@elis.ugent.be>wrote: > > On 29 Jul 2009, at 18:47, Daniël Mantione wrote: > > Op Wed, 29 Jul 2009, schreef Desmond Coertzen: >> >> This is my first question / suggestion: With byte sized variables being >>> the >>> smallest accessible variable in the PC architecture, will we see a >>> language >>> extension to provide bit accessible variables for the micro controllers? >>> >> >> Do you mean bitpacking? >> >> type nibbles=bitpacked record >> low_nibble=0..15; >> high_nibble=0..15; >> end; >> > > This is not usable for accessing particular bits of microcontroller > registers, because the internal format of a bitpacked record is undefined > and can change at any time for any reason. > > > Jonas_______________________________________________ > > fpc-devel maillist - fpc-devel@lists.freepascal.org > http://lists.freepascal.org/mailman/listinfo/fpc-devel >
_______________________________________________ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel