8led+8按键+8数码管。主函数调用TM1638_ReadData2,打印了返回值,无论是否按键,都一直打印255,为什么全是1,看来读数据函数有问题啊。
c
u8 TM1638_ReadData2(void)
{
uint8_t i;
uint8_t temp=0x00;
TM1638_DIOModeInput();//DIO设置为输入
for(i = 0; i < 8; i++)
{
temp >>= 1;
TM1638_CLKReset; //CLK上升沿读数据才有效
delay_us(4);
if(TM1638_DIORead == 1)
{
temp |= 0x80;
}
else
{
temp &=0x7f;
}
TM1638_CLKSet;
delay_us(4);
}
return temp;
}