硬汉嵌入式论坛

 找回密码
 立即注册
查看: 2559|回复: 9
收起左侧

[emWin] emwin显示中文不稳定的问题

[复制链接]

15

主题

38

回帖

83

积分

初级会员

积分
83
发表于 2017-8-2 10:14:02 | 显示全部楼层 |阅读模式
如题,在407上移植了FREERTOS,STEMWIN,FATFS,但是在使用FATFS方式显示外部字体XBF时候,切换多了以后,时而会出现字体显示不出来的情况。
但是,复位后显示又是正常的。(注:屏幕用的是安富莱7寸屏,MCU控制板自己做的)
分析问题原因:
1.FATFS读取字体这部分有问题?
2.407移植了FREERTOS,STEMWIN,FATFS三个后,速度变慢,导致显示不出来?
3.其他。

在这里向询问一下论坛哥们,看看有没有人遇到过的,谢谢啦。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117635
QQ
发表于 2017-8-2 10:54:38 | 显示全部楼层
一方面XBF字体放在SD卡中不适合用于项目实战,性能较差,特别是字体稍大的时候,界面都卡卡的。

另一个方面推荐使用SPI Flash存储XBF字体就可以了,非常方便,但切不要给SPI Flash配套文件系统,非常影响性能。
这个里参考和视频演示:
https://forum.anfulai.cn/forum.php?mod=viewthread&tid=9018
回复

使用道具 举报

15

主题

38

回帖

83

积分

初级会员

积分
83
 楼主| 发表于 2017-8-2 16:38:47 | 显示全部楼层

回 eric2013 的帖子

eric2013:一方面XBF字体放在SD卡中不适合用于项目实战,性能较差,特别是字体稍大的时候,界面都卡卡的。

另一个方面推荐使用SPI Flash存储XBF字体就可以了,非常方便,但切不要给SPI Flash配套文件系统,非常影响性能。
这个里参考和视频演示:
https://forum.anfulai.cn/forum.php?mod=viewthread&tid=9018 (2017-08-02 10:54) 
是啊。我之前试了,中文好卡,然后硬生生用了全英文的,然后我试试spi flash的方法。
回复

使用道具 举报

15

主题

38

回帖

83

积分

初级会员

积分
83
 楼主| 发表于 2017-8-3 12:00:42 | 显示全部楼层

回 eric2013 的帖子

eric2013:一方面XBF字体放在SD卡中不适合用于项目实战,性能较差,特别是字体稍大的时候,界面都卡卡的。

另一个方面推荐使用SPI Flash存储XBF字体就可以了,非常方便,但切不要给SPI Flash配套文件系统,非常影响性能。
这个里参考和视频演示:
https://forum.anfulai.cn/forum.php?mod=viewthread&tid=9018 (2017-08-02 10:54)
你好,还有个问题,在你们代码里面,就是在spi flash初始化时候,硬件选了spi3(接口是:PB3,PB4,PB5),软件打开的时钟却是spi1(spi1的接口:PA5,PA6,PA7)。这个请问什么意思??
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117635
QQ
发表于 2017-8-3 12:04:43 | 显示全部楼层

回 刘志伟 的帖子

刘志伟:你好,还有个问题,在你们代码里面,就是在spi flash初始化时候,硬件选了spi3(接口是:PB3,PB4,PB5),软件打开的时钟却是spi1(spi1的接口:PA5,PA6,PA7)。这个请问什么意思?? (2017-08-03 12:00) 
那个例子,我看看。
回复

使用道具 举报

15

主题

38

回帖

83

积分

初级会员

积分
83
 楼主| 发表于 2017-8-3 12:25:36 | 显示全部楼层

回 eric2013 的帖子

eric2013:那个例子,我看看。 (2017-08-03 12:04)
71期spi_flash外置字体,在spi_flash初始化的时候   

                    GPIO_PinAFConfig(GPIOB, GPIO_PinSource3, GPIO_AF_SPI1);
    GPIO_PinAFConfig(GPIOB, GPIO_PinSource4, GPIO_AF_SPI1);
    GPIO_PinAFConfig(GPIOB, GPIO_PinSource5, GPIO_AF_SPI1);

    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_25MHz;
    GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
    GPIO_InitStructure.GPIO_PuPd  = GPIO_PuPd_NOPULL;

    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3 | GPIO_Pin_4 | GPIO_Pin_5;
    GPIO_Init(GPIOB, &GPIO_InitStructure);

    /* ´ò¿ªSPIʱÖÓ */
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_SPI1, ENABLE);
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117635
QQ
发表于 2017-8-3 13:28:44 | 显示全部楼层

回 刘志伟 的帖子

刘志伟:71期spi_flash外置字体,在spi_flash初始化的时候    

                    GPIO_PinAFConfig(GPIOB, GPIO_PinSource3, GPIO_AF_SPI1);
   .. (2017-08-03 12:25) 
SPI1有复用的,PA5,6,7可以,PB3,4,5也可以。
回复

使用道具 举报

15

主题

38

回帖

83

积分

初级会员

积分
83
 楼主| 发表于 2017-8-3 13:55:44 | 显示全部楼层

回 eric2013 的帖子

eric2013:SPI1有复用的,PA5,6,7可以,PB3,4,5也可以。 (2017-08-03 13:28)
我去。仔细看了,原来有两个spi1。真是谢谢了啊。。。
回复

使用道具 举报

5

主题

582

回帖

597

积分

版主

Rank: 7Rank: 7Rank: 7

积分
597
发表于 2017-8-3 14:33:16 | 显示全部楼层
不要用文件系统的方式显示xbf,要用raw模式,直接操作flash
回复

使用道具 举报

15

主题

38

回帖

83

积分

初级会员

积分
83
 楼主| 发表于 2017-8-4 12:28:42 | 显示全部楼层

回 myxiaonia 的帖子

myxiaonia:不要用文件系统的方式显示xbf,要用raw模式,直接操作flash (2017-08-03 14:33)
试过了,调试了两天成功了。我用的RA8875上的SPI FLASH储存的,但是这里面的芯片是16M的,spi_flash这个代码没有加入16M的ID,所以不能适用,另外spi_flash代码里的sf_WriteBuffer好像也不支持,换成RA8875_FLASH里的w25_WritePage写入数据就可以完整写入了。

另外,按道理,应该不用sd卡复制过去的方法,用isp串口传送过去保存在数组,然后写入spi_flash也可以吧。这样可以省略SD卡的使用的,毕竟写入了字体到flash以后,sd卡就没用到了。
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-8-19 17:10 , Processed in 0.046834 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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