金牌会员
 
- 积分
- 1334
- 金钱
- 1334
- 注册时间
- 2013-12-28
- 在线时间
- 197 小时
|
100金钱
本帖最后由 jiaozhu 于 2016-9-14 13:56 编辑
T16U SPI_FlashReadMANUFAC_ID()
{
T16U temp=0;
if(SPI_FlashWaitBusy() == -1)return -1;
CS_LOW;
SPI_WR_RD_DATA(SPI_CMD_MANUF_DEV_ID);
SPI_WR_RD_DATA(0);
SPI_WR_RD_DATA(0);
SPI_WR_RD_DATA(0);
// SPI_WR_RD_DATA(0);
temp |= SPI_WR_RD_DATA(DUMMY)<<8;
temp |= SPI_WR_RD_DATA(DUMMY);
CS_HIGH;
return temp;
}
这是读取ID的函数,按照手册上的时序是写了命令后接着写3次0 就可以读取到ID编号,但我这个里面需要写4次0后才能读取到ID。百思不得其解啊,求大神指点,谢谢
补充:当我用JEDEC指令去读取ID的时候也是需要多写入一个0进去才能读取到制造商ID。
|
|