由于AT-START-F425所用的核心芯片是一款面向USB的微控制器,并提供了相应的U盘读写功能,故可实现两方面的应用,即一个是利用文件读取功能来构建图库或字库以扩展存储空间,另一个是利用文件存储功能来充当数据记录装置。
这里就先介绍它的读取功能以实现图像的再现,当然其前提是已在U盘中存放了准备好的图像文件,其次有彩色显示屏的支持,这里所用的显示屏为0.96寸OLED彩色显示屏。
为了测试,先在文件中存放的是一个单色的图像文件,其显示效果如图1所示。 图1 测试效果
其判别指定文件被打开的语句为:
if(f_open(&file, "0: zsh.bmp", FA_READ) != FR_OK)
在指定文件打开成功的情况下,其显示程序为:
for(i=0;i<N;i++)
{
res = f_read(&file, read_datp, sizeof(read_datp), &len);
// 绘制一行彩线
for(j=0;j<80;j++)
{
LCD_WR_DATA8(gImage_cgq[j*2]);
LCD_WR_DATA8(gImage_cgq[j*2+1]);
}
}
由测试结果可知,打开*.BMP文件是没问题的,并可以读取其数据进行显示。
接下来可以产生一幅参数图片的显示,其效果如图2所示。
该显示效果的程序为:
if(f_open(&file, "0:YX32.bin", FA_READ) != FR_OK)
{
USBH_DEBUG("Open AT32.txt failed");
}
else
{
for(i=0;i<80;i++)
{
res = f_read(&file, read_datp, sizeof(read_datp), &len);
for(j=0;j<160;j++)
{
LCD_WR_DATA8(read_datp[j*2]);
LCD_WR_DATA8(read_datp[j*2+1]);
}
}
if(res != FR_OK || len == 0)
{
USBH_DEBUG("Read AT32.txt failed");
}
else
{
USBH_DEBUG("Read AT32.txt Success");
}
f_close(&file);
}
f_mount(NULL, "", 0);
}
完成了上述的基本测试后,就可以探索多文件的读取以实现数码相框的功能,经测试其显示效果如图3和图4所示。
实现该功能的程序为:
static usb_sts_type usbh_user_application(void)
{
usb_sts_type status = USB_OK;
FRESULT res;
int i,j,z;
uint32_t len;
res = f_mount(&fs, "", 0);
if(res == FR_OK)
{
for(z=0;z<3;z++)
{
if(z==0) f_open(&file, "0:YX32.bin", FA_READ);
if(z==1) f_open(&file, "0:HKTK.bin", FA_READ);
if(z==2) f_open(&file, "0:HY32.bin", FA_READ);
for(i=0;i<80;i++)
{
res = f_read(&file, read_datp, sizeof(read_datp), &len);
for(j=0;j<160;j++)
{
LCD_WR_DATA8(read_datp[j*2]);
LCD_WR_DATA8(read_datp[j*2+1]);
}
}
f_close(&file);
delay_ms(2000);
}
f_mount(NULL, "", 0);
}
return status;
}
由此可知,AT-START-F425开发板的文件读取功能还是很强大的。
本帖最后由 jinglixixi 于 2022-4-21 13:39 编辑
引用: lugl4313820 发表于 2022-4-21 14:58 这个有想法呀,感觉这块芯片还是很强大的,如果价格亲民,应该很有前景!
用起来还是比较好使的
引用: freebsder 发表于 2022-4-21 22:33 usb和lcd打通了
哈哈,尝试一下。