Hi,

I hope I can make myself clear.

I'm making a driver to control an LCD with an STM32 microcontroller, using fpc-embedded-arm. I want to make my driver re-usable, i.e. I want to be able to pass the needed RST- and CS-pins only one time, so I don't need to modify the code in multiple places if the needed pins change.

Since a pin-port is defined this way :

 PortA: TPortRegisters          absolute (APB2Base+$0800);

I thought of defining a record :

RSTPin : record
 GPIO_Port : ^TPortRegisters;
 GPIO_Pin : word;
end;

and assigned like this :

RSTPin.GPIO_Port:=@PortA;

This does not work, the pins are not initialised when used with the initialising function :

   GPIO_Init(RSTPin.GPIO_Port^, GPIO_InitStructure);

does not work while

   GPIO_Init(PortA, GPIO_InitStructure);

does work.

What am I missing ? I'm out of ideas at the moment.

Thanks for any help you can give,

Regards,

Koenraad Lelong.
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply via email to