感觉有两个问题1,片选的实时性,if(RA1==0) 需要用外部中断,要么发送需要足够的延时,保证检测到 片选信号时,spi数据没有丢失。 2,时钟开始时需要从低电平开始,while(!RB0); //判断CLK是否为高 这里开始的RB0状态不明,另外while(!RB0); 语句容易出显死机,最好使用类似 i=0; while((!RB)&&(i <20)) i++; 的等待语句。 发表时间:2006年8月19日10:06:56