我用DP266的SPI1口读写EEPROM(AT25128),当从AT25128读出数据时,先向AT25128写读请求命令,然后接收AT25128发出的数据,是不是应该按以下操作:
SPI1DR=READ; //向 at25128写读请求命令 while(!SPI1SR_SPTEF); delay(1); SPI1DR=0xff; // 需要读的地址高8位 while(!SPI1SR_SPTEF); delay(1); SPI1DR=0xff; //需要读的地址低8位 while(!SPI1SR_SPTEF);//等待发送完毕 while(!SPI1SR_SPTEF);//等待接收1字节
num= SPI1DR;//读出数据
写完就读连续用2个while(!SPI1SR_SPTEF);有问题吗? |