6# kusheng176
谢谢你,我也把程序照你那样写了,你那样比我的简洁多了,谢谢你了。但是还是有这个问题:扫描第一次,理论上接收到的数值是 00 00 00 00 00 00 00 00(无数据变化),但是实际接收到的:01 00 00 00 01 00 00 10。硬件上我也换过芯片测试过,结果还是这样的。但是我只是单独测试PA或者PB的时候,结果就是对的。这个问题搞的我好烦躁的,无解。。。请问你还知道有什么原因么?
unsigned char buffer[8]={0};
void caiyang()
{
unsigned char j;
for(j=0;j<8;j++)
{
PC=0xFF ^ (0x01<<j); //PC=0xfe,左移直到PC=0x7f
if(j<4)
{
num=PA; //扫描PA口
Turn_pa(j);
}
else
{
num=PB; //扫描PB口
Turn_pb(j);
}
}
SendMsg(); //发送buffer
for(j=0;j<8;j++) //buffer清0
{
buffer[j]=0;
}
}
|