jinglixixi 发表于 2021-5-15 01:12

【AT32F421测评】+ W25Q16存储模块的读写

<p>在AT32F407等开发板上是配有W25Q128存储器的,那能否以外挂的方式由AT32F421来读写相应的存储器呢?</p>

<p>答案是肯定的,通过W25Q16存储模块即可对其读写功能加以验证,其连接情况及验证效果见图1所示。</p>

<p></p>

<p>图1&nbsp; 线路连接及验证效果</p>

<p>若打开串口,则可观察到其内部的数据传输过程,见图2和图3所示。</p>

<p></p>

<p>图2 测试结果</p>

<p></p>

<p>图3 测试结果</p>

<p>若将存储模块的电源端断开,则2个LED指示灯会闪烁一段时间以供提示,见图4所示。</p>

<p>而在串口上,则可见到图5所示的输出内容。</p>

<p></p>

<p>图4 指示灯提示</p>

<p></p>

<p>图5 错误提示</p>

<p>&nbsp;</p>

<p>在测试时,存储模块与MCU的连接关系为:</p>

<p>CS&nbsp; ---PA4</p>

<p>SCK ---PA5</p>

<p>MISO---PA6</p>

<p>MOSI---PA7</p>

<p>进行读写数据比较的函数为:</p>

<pre>
<code class="language-cpp">TestStatus Buffercmp(uint8_t* pBuffer1, uint8_t* pBuffer2, uint16_t BufferLength)
{
  while (BufferLength--)
  {
    if (*pBuffer1 != *pBuffer2)
    {
      return FAILED;
    }
    pBuffer1++;
    pBuffer2++;
  }
  return PASSED;
}</code></pre>

<p>&nbsp;</p>

<p>实现读写功能验证的主程序为:</p>

<pre>
<code class="language-cpp">int main(void)
{
  uint32_t i, Id;
  TxDataInit();
  UART_Print_Init(115200);
  AT32_Board_Init();
  SpiFlash_Init();
  Id = SpiFlash_ReadID();
  if(Id!=W25Q16)
  {
    printf("Spi flash init error!\r\n");
    for(i=0;i&lt;50;i++)
    {
     AT32_LEDn_Toggle(LED2);
     AT32_LEDn_Toggle(LED3);
    Delay_ms(100);
    }
    return 1;
  }
  else
  {
    printf("Check ID success! ID: %x\r\n", Id);
  }
  SpiFlash_Erase_Sector(FLASH_TEST_ADDR / SPIF_SECTOR_SIZE);
  SpiFlash_Write(Buffer_Tx, FLASH_TEST_ADDR, BUF_SIZE);
  SpiFlash_Read(Buffer_Rx, FLASH_TEST_ADDR, BUF_SIZE);
  printf("Read Data: ");
  for(i=0; i&lt;BUF_SIZE; i++)
  {
    printf("%x ", Buffer_Rx);
  }
  printf("\r\n");
  TransferStatus = Buffercmp(Buffer_Tx, Buffer_Rx, BUF_SIZE);
  if(TransferStatus==PASSED)
  {
    AT32_LEDn_ON(LED2);
  }   
  else
  {
    AT32_LEDn_OFF(LED2);
  }
  while (1);
}

</code></pre>

<p>&nbsp;</p>

Jacktang 发表于 2021-5-15 09:18

<p>利用外挂的方式由AT32F421来读写相应的存储器,是检验该MCU的性能指标之一</p>

<p>楼主的测评写的很赞</p>

jinglixixi 发表于 2021-5-15 13:53

Jacktang 发表于 2021-5-15 09:18
利用外挂的方式由AT32F421来读写相应的存储器,是检验该MCU的性能指标之一

楼主的测评写的很赞

<p>感谢支持!</p>

w494143467 发表于 2021-5-15 17:03

<p>哈哈,天天看到大佬在测评!</p>

jinglixixi 发表于 2021-5-15 23:35

w494143467 发表于 2021-5-15 17:03
哈哈,天天看到大佬在测评!

<p>抓空儿做一点</p>
页: [1]
查看完整版本: 【AT32F421测评】+ W25Q16存储模块的读写