你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

如何把cc936.c存储在外部的FLASH芯片中?

[复制链接]
sasmike 提问时间:2015-1-9 09:30 /
最近想搞搞FATFS文件系统,但由于中文支持的话空间太大,听说可以把中文字库放到外部FLASH芯片中,可以接口STM32的内部空间,但没有思路。
有哪位朋友搞过,给提示提示吧。

收藏 评论3 发布时间:2015-1-9 09:30

举报

3个回答
lkl0305 回答时间:2015-1-9 11:38:00
也在学习这部分,帮顶!
moyanming2013 回答时间:2015-1-9 11:45:55
你要支持显示在LCD上么?可以买一个带有flash芯片的LCD屏,调用接口就行了。否则外扩一个flash芯片也行(看接口总线)。如果在段式LCD上,只能外扩flash芯片了。
nyszx 回答时间:2015-1-9 12:40:10
把从 oem2unip[] 和 uni2oem[]两个数组读取元素的部分程序从外部FLASH读取就可以了,得事先用一段程序把oem2unip[] 和 uni2oem[]两个数组存入到外部flash中。

WCHAR ff_convert (    /* Converted code, 0 means conversion error */
    WCHAR    src,    /* Character code to be converted */
    UINT    dir        /* 0: Unicode to OEMCP, 1: OEMCP to Unicode */
)
{
    const WCHAR *p;
    WCHAR c;
    int i, n, li, hi;


    if (src < 0x80) {    /* ASCII */
        c = src;
    } else {
        if (dir) {        /* OEMCP to unicode */
            p = oem2uni;
            hi = sizeof(oem2uni) / 4 - 1;
        } else {        /* Unicode to OEMCP */
            p = uni2oem;
            hi = sizeof(uni2oem) / 4 - 1;
        }
        li = 0;
        for (n = 16; n; n--) {
            i = li + (hi - li) / 2;
            if (src == p[i * 2]) break;
            if (src > p[i * 2])
                li = i;
            else
                hi = i;
        }
        c = n ? p[i * 2 + 1] : 0;

    }

    return c;
}

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版