本帖最后由 domo3020 于 2013-9-4 00:30 编辑
我手头有一个1602的液晶,驱动没有问题,还有一个HMC5883L,我想确认一下HMC5883L初始化对不对,我就从HMC5883L里一个地址读数,我想直接把他以二进制显示在1602上,比如我读出的数保存在devid这个变量里,
我先使用:
for(ii=0;ii<8;ii++)
{
LCD_DisplayChar(ii,0,(devid>>ii)&0x01+0x30);
}
在液晶上输出devid的8个bit,结果是乱码,确认了我的液晶没有问题,后来换成
for(ii=0;ii<8;ii++)
{
LCD_DisplayChar(ii,0,((devid<<ii)&0x80?1:0)+0x30);
}
显示出来了,谁能给解惑? |