打印
[综合信息]

【SWDM-QFP100-34SVEA3测评】+ 读取U盘文件内容并显示

[复制链接]
371|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 suncat0504 于 2023-4-2 12:24 编辑

#申请原创#

SWM341集成了全速2.0USB模块, 支持全速(12 Mbps)和低速(1.5 Mbps)传输。
因此可以用来读写U盘接口,开发板提供U盘接口插座。如下图所示:

图一、U盘接口插座以及测试时UART0的接线图
可以利用厂家提供的MSC_BOT例程(SWM341_Lib\USBH\MSC_BOT目录下)测试U盘接口。这个例程就是在检测到U盘后,在U盘上建立一个名为test.txt的文件,写入指定的字符串。实测后,例程正常可用,在盘上正确建立test.txt文件。在测试时,使用的是串口打印调试信息,因为想使用固定的一个端口,所以需要在烧写程序和运行程序时,即使切换串口的跳线连接。图一中标明UART0的,就是运行要用到的串口。


在我的设计中,把一个个菜谱以文件形式保存在U盘中。通过交互设备实现选择菜谱文件并在屏幕上显示菜谱内容。之前是打算用板上的SD卡上的读写设备来实现的,但是在测试的时候,这个设备总是返回“设备未准备好”的信息,所以就放弃SD卡,改用U盘了。菜谱的文件名为caipu.txt,内容为菜谱的制作方法。目前还是以纯文本的模式处理,内容中过包括汉字。为了实现汉字的统一处理,以ANSI方式保存文件,每个汉字都保存为两个字节的数据,汉字编码与GBK编码保持一致。如果编码不一致,会导致显示的时候出现乱码情况。这一点需要在制作菜谱文件的时候要注意。显示方面,由于涉及到汉字字库的问题,打算使用带有汉字字库的LCD显示屏。开发板附带的显示屏因为不没有汉字字库的原因,暂时被放弃。
看下开发板提供J8排针情况:

外接自己的LCD屏幕,使用带字库的256*96的单色屏,I2C接口,用到的接口信号为:SCK(时钟)、SDA(数据)、CS(片选)、RESET(复位)、RS(命令/数据选择),ROM_IN/ROM_OUT/ROM_SCK/ROM_CS这四个信号是和访问LCD板子上和字库芯片有关的引脚,主要用来获取汉字对应的点阵数据,方便在LCD上显示出来。




连接到华芯微特开发板SWM341,需要占用开发板的一些GPIO口。
按照以下连接测试:
A7--------Rom_IN     字库 IC 接口定义:Rom_IN
A6--------Rom_OUT   字库 IC 接口定义:Rom_OUT
A3--------Rom_SCK    字库 IC 接口定义:Rom_SCK
B13--------Rom_CS    字库 IC 接口定义 Rom_CS
A5--------LCD_RST     RST复位
A2--------LCD_SDA    串行数据
A0--------LCD_SCL     串行时钟


之后开始编程调试。代码完成后,进入测试前,需要准备个U盘,在其中做好caipu.txt文件,内容如下:

然后把U盘插到开发板的USB口。编译好的代码下载到开发板中,复位,开始测试。测试结果如下:

调试中发现一些问题。在没有使用LCD屏时,处理很快,串口输出信息也正常。
等到加入LCD的初始化后,LCD的显示处理动作很慢,包括清屏和显示信息,肉眼可见的逐行、逐列的处理,这是以前没见过的现象,而且串口输出的信息,也出现乱码。无法理解是什么原因。期待在后续处理时能改善。


使用特权

评论回复

相关帖子

沙发
flycamelaaa| | 2023-3-28 10:32 | 只看该作者
楼主对酸菜是真爱

使用特权

评论回复
板凳
suncat0504|  楼主 | 2023-3-28 22:57 | 只看该作者
flycamelaaa 发表于 2023-3-28 10:32
楼主对酸菜是真爱

赶上了,哈哈哈

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

认证:大连伊飞特信息技术有限公司软件工程师
简介:本人于1993年毕业于大连理工大学。毕业后从事单片机开发工作5年,之后转入软件开发工作至今。

87

主题

2413

帖子

4

粉丝