恒宇 发表于 2010-12-10 14:34

为什么

void put(void) //发送采用查询方式
{
    char p;
    ru=0xaa;
setd_2();
for(p=0;p<8;p++)
   {
            while(!(UCSRA & (1<<UDRE)));
            UDR=ru;
         delay2();
   }
    ru=0x55;
for(p=0;p<8;p++)
   {
            while(!(UCSRA & (1<<UDRE)));
            UDR=ru;
         delay2();
   }
clrd_2();
}
发8个aa,只发6个55?

NE5532 发表于 2010-12-10 17:49

delay2();是多余的。不知道你用的什么单片机,检查while条件有没有写反,循环发55,用示波器测波特率

恒宇 发表于 2010-12-11 10:55

用m16
页: [1]
查看完整版本: 为什么