字節按位倒序處理(一)

按照通信協議,用一個字節來表示8個按鍵的狀態,第一個按鍵按下則用0x01表示,第二個按鍵按下則用0x02表示,以此類推,一位代表一個按鍵狀態。

但爲了便於電路板Layout走線,8位並行輸入的高低位顛倒,如下圖。

爲了符合協議,在程序中對字節做了倒序處理,即將0xabcdefgh轉換爲0xhgfedcba,代碼實現如下:

uint8_t byte_change(uint8_t data)
{
	uint8_t i = 0;
	uint8_t temp = 0;
	
	for (i = 0; i < 8; i ++)
	{
		temp = temp << 1;
		temp |= (data >> i) & 0x01;
	}
	
	return temp;
	
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章