[综合信息]【SWDM-QFP100-34SVEA3测评】+ 读取U盘文件内容并显示

文章介绍了SWM341开发板如何使用全速USB模块进行U盘读写操作,通过建立test.txt文件验证功能。在遇到SD卡问题后,转向使用U盘存储菜谱文件,文件以ANSI编码的GBK格式保存以支持汉字。在显示方面,计划使用带汉字字库的LCD显示屏,但在连接和初始化LCD后,显示速度变慢且串口输出出现乱码,这构成了调试中的主要问题。
摘要由CSDN通过智能技术生成

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的显示处理动作很慢,包括清屏和显示信息,肉眼可见的逐行、逐列的处理,这是以前没见过的现象,而且串口输出的信息,也出现乱码。无法理解是什么原因。期待在后续处理时能改善。
---------------------
作者:suncat0504
链接:https://bbs.21ic.com/icview-3292674-1-1.html
来源:21ic.com
此文章已获得原创/原创奖标签,著作权归21ic所有,任何人未经允许禁止转载。
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值