我正在尝试整理这个将 10 位值转换为 6 位的函数。当我使用更高分辨率的 ADC 时,我还需要能够定义输入的位长:
BYTE ioGetADC (void)
{
BYTE r;
ConvertADC(); // Start Conversion
while(BusyADC()); // Wait for completion
{
r = ( (ReadADC())/16); // Read result and convert to 0-63 (returns 10bit right hand justified)
}
return r;
}