本帖最后由 jinglixixi 于 2023-2-26 16:44 编辑
HC32F4A0开发板配有8MB的Flash存储器W25Q64,通过它可以存放多幅图片数据,进而实现多幅图片的显示。
其显示效果如下图所示。
显示效果图
其进行图像存储与再现的关键程序为:
LCD_Address_Set (0,0,159,79);
a=0;
F_ADDR=a;
(void)BSP_W25QXX_EraseSector(F_ADDR);
(void)BSP_W25QXX_EraseSector(F_ADDR +4096);
(void)BSP_W25QXX_EraseSector(F_ADDR +2*4096);
(void)BSP_W25QXX_EraseSector(F_ADDR +3*4096);
(void)BSP_W25QXX_EraseSector(F_ADDR +4*4096);
(void)BSP_W25QXX_EraseSector(F_ADDR +5*4096);
(void)BSP_W25QXX_EraseSector(F_ADDR +6*4096);
for (j=0;j<6;j++) {
LoadDatap(ti);
(void)BSP_W25QXX_Write(F_ADDR, m_au8WriteData, 2048);
(void)BSP_W25QXX_Read(F_ADDR, m_au8ReadData, 2048);
LCD_ShowPicturep();
DDL_DelayMS(1);
F_ADDR = F_ADDR + 2048;
i= i+ 2048;
LoadDatap(i);
(void)BSP_W25QXX_Write(F_ADDR, m_au8WriteData, 2048);
(void)BSP_W25QXX_Read(F_ADDR, m_au8ReadData, 2048);
LCD_ShowPicturep();
DDL_DelayMS(1);
F_ADDR = F_ADDR + 2048;
i=ti+ 2048;
}
LoadDatap(ti);
(void)BSP_W25QXX_Write(F_ADDR, m_au8WriteData, 1024);
(void)BSP_W25QXX_Read(F_ADDR, m_au8ReadData, 1024);
for(k=0;k<1024;k++)
{
LCD_WR_DATA8(m_au8ReadData[k]);
}
由此可见W25Q64还是十分有用的,可以用来构建图库和字库等。