野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 24057|回复: 2

求教SPI的问题

[复制链接]
发表于 2014-3-10 17:22:39 | 显示全部楼层 |阅读模式
这两个函数没看懂
第一:u32 SPI_FLASH_ReadID(void)
{
  u32 Temp = 0, Temp0 = 0, Temp1 = 0, Temp2 = 0;
  /* Select the FLASH: Chip Select low */
  SPI_FLASH_CS_LOW();
  /* Send "RDID " instruction */
  SPI_FLASH_SendByte(W25X_JedecDeviceID);
  /* Read a byte from the FLASH */
  Temp0 = SPI_FLASH_SendByte(Dummy_Byte);
  /* Read a byte from the FLASH */
  Temp1 = SPI_FLASH_SendByte(Dummy_Byte);
  /* Read a byte from the FLASH */
  Temp2 = SPI_FLASH_SendByte(Dummy_Byte);
  /* Deselect the FLASH: Chip Select high */
  SPI_FLASH_CS_HIGH();
  Temp = (Temp0 << 16) | (Temp1 << 8) | Temp2;
  return Temp;
}


第二:u32 SPI_FLASH_ReadDeviceID(void)
{
  u32 Temp = 0;
  /* Select the FLASH: Chip Select low */
  SPI_FLASH_CS_LOW();
  /* Send "RDID " instruction */
  SPI_FLASH_SendByte(W25X_DeviceID);
  SPI_FLASH_SendByte(Dummy_Byte);
  SPI_FLASH_SendByte(Dummy_Byte);
  SPI_FLASH_SendByte(Dummy_Byte);
  
  /* Read a byte from the FLASH */
  Temp = SPI_FLASH_SendByte(Dummy_Byte);
  /* Deselect the FLASH: Chip Select high */
  SPI_FLASH_CS_HIGH();
  return Temp;
}

新手,求理解
回复

使用道具 举报

发表于 2014-3-10 20:15:43 | 显示全部楼层
读厂商ID和设备ID,就是发两个不同的命令,接收芯片发回来的ID序列号,具体看看datasheet
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-3-10 20:34:32 | 显示全部楼层
强烈支持,非常感谢哥们
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-23 17:06 , Processed in 0.029216 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表