小编Wil*_*ote的帖子

一个人如何反转“ int”值的低8位的顺序并使高8位保持相同?

我的应用程序要求将值存储在16位计数器中,但是由于pcb问题,它要求将计数器的低8位反转(01001110至01110010)。该代码以C(GCC)编写,并且计数器寄存器为“ int”类型(16位)。我的应用程序使用Atmel ATtiny 8位MCU。我知道,如果我将计数器寄存器声明为“ int”类型,则编译器将分配2个RAM单元。我是否只是使用掩码提取低位字节,然后重新排列位,然后使用类似的方式将它们粘贴回去?

counter = counter & 0x00       clear lower byte value
counter = counter + (register with the reversed 8 bits)   

// Then, Replace lower byte value with new value
Run Code Online (Sandbox Code Playgroud)

应该行吗?谢谢

embedded int microcontroller gcc atmel

2
推荐指数
1
解决办法
146
查看次数

标签 统计

atmel ×1

embedded ×1

gcc ×1

int ×1

microcontroller ×1