卧槽,没仔细看,C51的我改过了,用了一个临时变量,传递指针变量,所以C51的测试可以,打扰了。。。
void HC595_COM1_WR_NByte(uint8_t Len, uint8_t *GPIOValue)
{
uint8_t i=0,Byte=0;
while(Len--)
{
Byte=*GPIOValue;
HC595_COM1_STCP_RESET();
for(i=0;i<8;i++)
{
HC595_COM1_SHCP_RESET();
if(Byte & 0x80)
{
HC595_COM1_DS_SET();
}
else
{
HC595_COM1_DS_RESET();
}
HC595_COM1_SHCP_SET();
Byte <<= 1;
}
HC595_COM1_STCP_SET();
GPIOValue++;
}
} |