本人想实践一下PIC单片机的I2C,SPI总线,于是找了基于IIC的E2PROM和基于SPI的E2PROM,并写写了程序。但是问题出来了。写的程序不能实现向E2PROM写数据的功能。于是我在MPLAB中分步执行,结果程序卡在SSPIF这里不动。请问是什么原因?
基于SPI的E2PROM我选用的是25C040,写数据前要发送0X06,代表写使能的意思。我调用写使能函数,停留在 while(!SSPIF); 不动了。
void WriteEnable()
{
CS=0;
SSPBUF=0x06;
while(!SSPIF); //程序卡在这句话不动了。
SSPIF=0;
CS=1;
}
基于I2C的E2PROM我选用的是24C02,写应答程序的时候也是卡在这句话不动了。
void checksend()
{
while(SSPIF==0) //程序也是卡在这里不动了。
{;}
SSPIF=0;
}
请问是什么原因??????????? |