0
我對掩碼和位移都有疑問。4位LCD控制的PIC位掩碼和移位
我有以下代碼:
void WriteLCD(unsigned char word, unsigned commandType, unsigned usDelay)
{
// Most Significant Bits
// Need to do bit masking for upper nibble, and shift left by 8.
LCD_D = (LCD & 0x0FFF) | (word << 8);
EnableLCD(commandType, usDelay); // Send Data
// Least Significant Bits
// Need to do bit masking for lower nibble, and shift left by 12.
LCD_D = (LCD & 0x0FFF) | (word << 12);
EnableLCD(commandType, usDelay); // Send Data
}
的「字」是8個比特,並且被通過一個4位的LCD接口放。這意味着我必須在發送數據之前將最高有效位和最低有效位分開。
LCD_D是一個16位數字,其中只有我傳遞給它的最重要的位我想實際「做」某事。我想要保留以前的12位,以防他們做其他事情。
就我的邏輯而言,就位掩碼而言,將「上」和「下」半字適當地傳遞給LCD_D是正確的。
感謝您的幫助!
感謝您的幫助!演員做到了。 – 2013-02-14 02:55:33