[fpc-devel] FPC micro controller

Desmond Coertzen patrolliekaptein at gmail.com
Wed Jul 29 20:28:44 CEST 2009


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.maebe at 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 at lists.freepascal.org
> http://lists.freepascal.org/mailman/listinfo/fpc-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-devel/attachments/20090729/bc589329/attachment.html>


More information about the fpc-devel mailing list