您的位置 首页 资料

STM32怎么完成W25X16的汉字字库存储

STM32如何实现W25X16的汉字字库存储- 系统中使用过多的汉字会出现芯片容量不够用的问题,可将数据存储在 外部FLASH 中,在需要使用时进行调用即可。本文是通过 STM32 串口 1实现对 W25X16 的汉字字库存储。

体系中运用过多的汉字会呈现芯片容量不够用的问题,可将数据存储在外部FLASH中,在需求运用时进行调用即可。本文是经过STM32串口1完结对W25X16的汉字字库存储。软件层面,装备串口1和SPI1即可,程序初始化后,在对W25X16进行写之前,必须先擦除,能够一个字节、一页、一扇区、一块以及整片擦除。写字库前,咱们用整片擦除办法,如下:

STM32怎么完结W25X16的汉字字库存储

整个程序中,关键在于串口接纳中止函数的编写,如下:

u32 WriteAddress=0;

void USART1_IRQHandler(void)

{

u8 Res;

if(USART_GeTITStatus(USART1,USART_IT_RXNE)!=RESET)

{

USART_ClearITPendingBit(USART1,USART_IT_RXNE);

Res=USART_ReceiveData(USART1);                            

SPI_Flash_Write_NoCheck(&Res,WriteAddress,1);

WriteAddress++;

}

}

也便是从地址0开端,一个字节一个字节进行写入。

代码为最简略的通讯代码,不过多说,然后翻开串口帮手,进行装备,勾选启用文件数据源,挑选下载或许自己做好的字库文件;勾选按十六进制发送,在芯片完全擦除后再进行发送:

STM32怎么完结W25X16的汉字字库存储

经过几十秒的等候,字库会发送完结,经过看发送的字节数与字库的字节数比照,即可知道是否发送结束。(上图中发送字节数不是字库字节数)前面的文章有写过汉字点阵获取的办法,此处不再赘述。如此,即可经过SPI拜访外部FLASH来调用汉字,并将其显现在显现屏上。相同关于asiic码能够将其写入某个块中,然后经过地址的偏移来核算对应的字符。

关于图片的存储也是相同原理,在之前完结汉字显现的基础上,笔者测试了图片的显现,并且取得正确的显现。笔者运用的显现屏为TFT1.44的,为128*128,占用32768字节,两张图片正好占用65536字节,也便是64Kb,而W25X16一个块是64Kb,进行块擦除后,每个块能够载入两张图片,十分完美。根本程序相同,仅仅此刻由于字库的写入,不运用片擦除指令,而运用块擦除完结对未运用块区的擦除:

STM32怎么完结W25X16的汉字字库存储

核算了下,字库占用了3个块多点,因而完全避开此区+在:

能够翻开看下字库文件,然后对获取的图片文件进行修改即可。下面贴出自己编写的图片显现的代码:

void ShowImage_W25X16(u32 WriteAddr)

{

int i;

u32 j;

unsigned char picH,picL;

u8 datatemp[2];

Lcd_Clear(WHITE);

Lcd_SetRegion(0,0,127,127);   

  for(j=0;j《1024;j++)

  for(i=0;i《16;i++)

  {

  SPI_Flash_Read(datatemp,WriteAddr,2);

  picL=datatemp[0];

  picH=datatemp[1];

  WriteAddr=WriteAddr+2;

  LCD_WriteData_16Bit(picH《《8|picL);

  }

  }         

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/ziliao/102863.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部