[活动专区] 【AT-START-F407测评】+W25Q128的读写测试

[复制链接]
 楼主| jinglixixi 发表于 2021-1-29 22:05 | 显示全部楼层 |阅读模式
本帖最后由 jinglixixi 于 2021-1-31 01:34 编辑

AT32F407的开发板上较重要的外设要数W25Q128了,其接口的原理图见图1所示。
1.png
图1  存储器接口原理图


通过对W25Q128的读写测试,可以为它的应用打下良好地基础,如来构建字库或图库灯,其测试的连接(将短接子切换到存储器一侧)和效果如图2和图3所示。
2.png
2 切换连接后

3.png
3 测试结果

形成测试的效果的主程序为:
  1. int main(void)
  2. {
  3. UART_Print_Init(115200);
  4. /* To test ext.flash */
  5. SPIM_test();
  6. while(1);
  7. }

辅助测试的功能函数为:
  1. void SPIM_test(void)
  2. {
  3. u16 i=0;
  4. /* Configures the ext.flash */
  5. printf("init SPIM.\r\n");  
  6. FLASH_InitExtFlash();
  7. /* Fill the content to be writed to ext.flash */
  8. for(i=0;i<SPIM_PAGE_SIZE;i++)
  9. {
  10. WriteBuffer[i]=i%256;
  11. }
  12. /* Erases an ext.flash page */
  13. printf("erase one page.\r\n");
  14. FLASH_ErasePage(SPIM_TEST_ADDR);
  15. /* Read an ext.flash page */
  16. memset(ReadBuffer,0,SPIM_PAGE_SIZE);
  17. ReadPage(SPIM_TEST_ADDR, SPIM_PAGE_SIZE, ReadBuffer);
  18. /* Check if the desired page are erased */
  19. for(i=0;i<SPIM_PAGE_SIZE;i++)
  20. {
  21. if(ReadBuffer[i]!=0xff)
  22. {
  23. printf("operate SPIM fail.\r\n");
  24. return;
  25. }   
  26. }

  27.   /* Program an ext.flash page */
  28. printf("write one page.\r\n");
  29. i=0;
  30. while(i<SPIM_PAGE_SIZE)
  31. {
  32. FLASH_ProgramWord (SPIM_TEST_ADDR+i,*(u32 *)(WriteBuffer+i));
  33. i=i+4;
  34. }
  35. /* Read an ext.flash page */
  36. printf("read one page.\r\n");
  37. memset(ReadBuffer,0,SPIM_PAGE_SIZE);
  38. ReadPage(SPIM_TEST_ADDR, SPIM_PAGE_SIZE, ReadBuffer);
  39. /* Check if reading result and writing content are the same */
  40. printf("compare the WriteBuffer/ReadBuffer.\r\n");
  41. for(i=0;i<SPIM_PAGE_SIZE;i++)
  42. {
  43. if(ReadBuffer[i]!=WriteBuffer[i])
  44. {
  45. /* Print the ext.flash testing result */
  46. printf("test SPIM fail.\r\n");
  47. return;
  48. }   
  49. }

  50. /* Print the ext.flash testing result */
  51. printf("test SPIM success!\r\n");
  52. }

基于该功能的读写测试,我们可以探索着拓展出更多新的应用。

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

本版积分规则

515

主题

2929

帖子

39

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