找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2549|回复: 0
打印 上一主题 下一主题
收起左侧

MM32 eMiniBoard开发板的 W25D16读写与应用

[复制链接]
跳转到指定楼层
楼主
本帖最后由 jinglixixi 于 2020-7-5 08:07 编辑

在官网的例程中,提供了W25D16读写的程序,掌握它的使用可用于中文字库的构建。
在功能测试时发现其输出内容如图1所示,并未能完成正确的读写操作。

1 测试输出内容

后经原理图的观察才发现,W25D16的片选端是接到SW2上,出厂时是置于断开状态,故影响正常读写。

2  W25D16读写原理图

SW2置到连接状态后,即可见到正确的读写效果,如图3和图4所示。

3 读写效果

4 读写效果

2. 中文字库的构建
对于普通的显示屏显然是不提供中文字库的,因此要显示中文就必须自行构建一个小字库来解决问题。
由于开发板上配置了W25D16,就可以用它来存放中文字库。
在中文字库的提取方面,可以用3310液晶显示屏汉字提取程序来实现,如图5所示。

5 汉字提取

在字模数据量较少时,可使用内存来存放字模,进而转储到W25D16。而对于字模数据量较大的情况,则需要分批次来转存或采用通讯传输文件的方式来转储。
以内存转储为例,其方法是:
1)将字模存入数值
unsigned char tmp1[256]={
0x00,0x00,0xE0,0x9C,0x84,0x84,0x84,0xF4,0x82,0x82,0x83,0x82,0x80,0x80,0x00,0x00,0x00,0x20,0x10,0x08,0x06,0x40,0x80,0x7F,0x00,0x00,0x02,0x04,0x08,0x30,0x00,0x00,
... ...
0x10,0x10,0x90,0x90,0x90,0x90,0x90,0x10,0x10,0xFF,0x10,0x10,0x11,0x16,0x10,0x00,0x00,0x20,0x60,0x20,0x3F,0x10,0x10,0x10,0x00,0x03,0x0C,0x10,0x20,0x40,0xF8,0x00,
};
2)使用SPIM_PageProgram(0,tmp1,256)语句执行转储
3)使用SPIM_PageRead(0,rxtmpdata,256) 语句读取,并通过如下语句进行验证,其效果如图6所示。
for(i=0;i<256;i++)
{
       printf("rx[%d]=0x%x\r\n",i,rxtmpdata);
}


图6 验证效果


4)在OLED 屏上加以验证,其效果如图7所示

图7 显示效果

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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