2780|0

1万

帖子

16

TA的资源

版主

楼主
 

【RT-Thread软件包应用作品】相册 [复制链接]

 


首先,我对RT-THREAD同正点原子合作的这块板子,给好评,集成了WIFI芯片不说,编程和STM32系列的几乎没有什么差别。

太对我胃口了。这款片子还是SOC芯片。另外集成外设也多。真是学习RT-THREAD必备之良器。

       这个相册,我考虑有一段时间了。我觉得屏我的实力可以搞定。

       它涉及两大方面,一方面从SD卡读文件。另一方面显示。

       而SD卡方面涉及到加文件系统,能否从SD卡顺利读出,读出个什么东东,能否在显示屏上显示。

       虽然很简单但做起来就是不易,唉!没有免费的早餐。

 

      一、准备相册图片

        以在是淘宝东积院(东北积木设计院)的照片,我用图画截为240*240的小画:

      

 

然后,再用取模软件取模,取成高位在前,不要文件头的16位真彩色565格式:

这还没完然后用C2B转换助手转为BIN文件,就是把数组转成BIN文件。

还不算完,再准备个SD卡及读卡器,把文件都考到SD卡上。

二,搭建环境及编程

     一开始我还看不上RT-THRAD的环境。menuconfig介不同LINUX一样了么???想当年我可是花了不少银子

,买了个开发板又买了十几本书攻过LINUX来这,所以我一看到界面有点不太高兴。

     但是用一下,觉得不错。我选得是FS那个例程,但是里边没显示,我就把显示加上。

     至于ENV的环境,官网上也有这里不多说,在ENV键入menuconfig

    

以下是FS文件系统,网上有参考说明的,我不想多说
然后保存

在ENV环境中键入

 pkgs --update

然后键入

 scons -- mdk5

然后就可以编程了

本人程序如下:(电子相册)

先说下思路,就是利用一个缓存,循环读入BIN文件,然后马上显示。

/*
 * Copyright (c) 2006-2018, RT-Thread Development Team
 *
 * SPDX-License-Identifier: Apache-2.0
 *
 * Change Logs:
 * Date           Author       Notes
 * 2019-05-16     yangjie      first implementation
 */

#include <rtthread.h>
#include <dfs_fs.h>
#include <drv_lcd.h>
#define DBG_TAG "main"
#define DBG_LVL DBG_LOG
#include <rtdbg.h>
#include <dfs_posix.h>
uint8_t buffer[115200];
int fd,size;
uint8_t iii;
int main(void)
{

 rt_device_t sd_device = RT_NULL;	
	
lcd_clear(WHITE);	
	
#ifdef BSP_USING_TF_CARD
    /* 挂载 TF 卡中的文件系统,参数 elm 表示挂载的文件系统类型为 elm-fat 文件系统*/
	
    if (dfs_mount("sd0", "/", "elm", 0, 0) == 0)
    {
        LOG_I("Filesystem initialized!");
    }
    else
    {
        LOG_E("Failed to initialize filesystem!");
    }
		
		
		
		
		
#endif /*BSP_USING_TF_CARD*/

while(1)
{	
		
	  if(iii == 0)
	  fd = open("/tt1.bin",O_RDONLY);
		else if(iii == 1)
		fd = open("/tt2.bin",O_RDONLY);
		else if(iii == 2)
		fd = open("/tt3.bin",O_RDONLY);
    else if(iii == 3)
		fd = open("/tt4.bin",O_RDONLY);	
		if(fd >=0 )
    {			
		      size = read(fd,buffer,sizeof(buffer));
			    close(fd);
			    if(size < 0)
					return 0;	
						
			   
		}	
		
		
	  lcd_show_image(0, 0, 240, 239, buffer);	
		
		iii++;
		
		if(iii >= 3)
		iii = 0;	
		
		
}		
    return 0;
}

 

三,验证
 

这里传个视频,第三幅再转成BIN文件时就提示有非法数据,我觉得是转换软件碰到了不识别的东东。与本个程序无关。

也等有机会改进一下。本人认为我的开发板都在吃灰,而这个小板板居然可以看看我喜欢的图片。平时我得多拿出来看看哈。

 

以下是视频链接:

https://v.youku.com/v_show/id_XNDQ1NDI4ODYyMA==.html?spm=a2h3j.8428770.3416059.1

 


 

 

 

此内容由EEWORLD论坛网友ddllxxrr原创,如需转载或用于商业用途需征得作者同意并注明出处

点赞 关注
个人签名http://shop34182318.taobao.com/
https://shop436095304.taobao.com/?spm=a230r.7195193.1997079397.37.69fe60dfT705yr
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表