for循环中微操作的疑问..
for(ulIdx1 = 0; ulIdx1 < 6; ulIdx1 += 2) {
for(ulIdx2 = 0; ulIdx2 < 8; ulIdx2++)
{
g_pucBuffer[ulIdx2] = 0;
if(g_pucFont[ucTemp][ulIdx1] & (1 << ulIdx2))
{
g_pucBuffer[ulIdx2] = (ucLevel << 4) & 0xf0;
}
if((ulIdx1 < 4) &&
(g_pucFont[ucTemp][ulIdx1 + 1] & (1 << ulIdx2)))
{
g_pucBuffer[ulIdx2] |= (ucLevel << 0) & 0x0f;
}
}
RITWriteData(g_pucBuffer, 8);
ulX += 2;
if(ulX == 128)
{
return;
}
}
这个是一个液晶显示函数中的一段代码,g_pucFont数组中的值g_pucFont[40][]={0xef,0x08,0x08,0x08,0xef}赋给 g_pucBuffer ,
这段代码是如何通过两个if语句做到的呢?