[fpc-pascal] Reversing bit-order of byte

Mark Morgan Lloyd markMLl.fpc-pascal at telemetry.co.uk
Thu May 3 09:55:49 CEST 2012

Koenraad Lelong wrote:
> Hi,
> I'm porting a driver, originally written in C, for an LCD to be used 
> with an embedded arm-processor (STM32).
> The original driver uses SPI, my driver will use a USART in synchronous 
> mode because the STM32 has no SPI for 9-bit. Unfortunately, the 
> bit-order is reversed between SPI and USART transmission.
> Does anyone knows an efficient way to reverse bit-order of a byte for 
> the arm-processor ? I'm going to look into the assembly language of the 
> arm-processor, but maybe someone knows this immediately.
> For old processors like 8085 or Z80 I know how to do this, but 
> arm-assembler is new to me.

I think I'd use a lookup table (making sure it's cacheable), 
particularly since what you're doing is going to be called frequently 
and you're likely to have much more than 64K memory.

Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]

More information about the fpc-pascal mailing list