[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