- 1、本文档共21页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
嵌入式实训(改)
基于嵌入式Linux智能色盲检测系统的报告书;制作项目技术背景;开发平台;制作项目的过程;项目;项目实现流程;头文件;源程序;//打开bmp图片,写到lcd中----把显示图片的嗲吗封装称为一个函数---以后要画图就调用这个函数
int draw_bmp(char *pathname) //pathname 要显示的图片的名
{ int i, j; //用来做for循环的 变量 i j
int color; //存储颜色的变量
char blue, green, red; //暂时存储单个颜色的变量
char bmp_data[800*480*4] = {0};//用来存储从图片读取到的颜色数据的数组
char bmp_info[54] = {0}; //用来存储从图片读取到信息的数组
//打开图片
int bmp_fd = open(pathname, O_RDWR);
if(bmp_fd 0) //图片打开失败
{ perror(open bmp error);
return -1; }; //读取54 字节的头信息
read(bmp_fd, bmp_info, 54);
//获取图片宽度
int bmp_width = bmp_info[18];
bmp_width |= bmp_info[19] 8;
printf(bmp_width = %d\n, bmp_width);
//获取图片高度
int bmp_height = bmp_info[22];
bmp_height |= bmp_info[23] 8;
printf(bmp_height = %d\n, bmp_height);
//类型获取图片类型
int bmp_type = bmp_info[28];
bmp_type |= bmp_info[29] 8;
printf(bmp_type = %d\n, bmp_type);
//读取颜色数据
read(bmp_fd, bmp_data, 800*480*4);
char *p = bmp_data; //用一个指针来指向存储了图片颜色数据的数组首地址---接下从这里一个字节一个字节的读取颜色数据 整合到 color中 然后写到lcd中;;int pic_count=0;//保存所有图片的张数
char pic_name[100][256];//图片的名字 picname[0]:第0张图片的名字
int main()
{ //打开lcd
open_lcd();
DIR * d=opendir(/);
if(d==NULL)
{ perror(opendir fail);
return -1; }
while(1)
{ struct dirent *p=readdir(d);/*一次只能读一个目录项*/
if(p==NULL)
{ break;
int len=strlen(p-d_name);//p-d_name 当前读到的目录项的文件名
//p-d_name ==bmp error!!!!!!!!!!!!!!
/*输出所有以.bmp结尾的文件名*/
if(len4 p-d_name[len-1]==pp-d_name[len-2]==mp-d_name[len-3]==bp-d_name[len-4]==.)
{ strcpy(pic_name[pic_count] ,p-d_name) ;//把查找到文件名保存到picname[count]中
pic_count++;
printf(the length is %d,the name is %s\n,len,p-d_name);//dir.c }}
closedir(d); ;srand(time(NULL)); //设置随机数的种子值
while(1)
{
draw_bmp(pic_name[rand()%pic_count]); //随机打开图片
sleep(3);
}
//关闭lcd
lcd_close();
return 0;
};制作项目的过程(截图);总结;END;ARM开发板;代码编辑器;代码编译器界面;Linux操作系统界面;虚拟机
您可能关注的文档
最近下载
- 四川超高层商务楼脚手架专项施工方案(三排落地式脚手架).doc VIP
- NexION1000-2000系列简易操作指南.doc VIP
- 领导力测试附有答案.docx
- 2025年时事政治热点题库及完整答案(历年真题).docx VIP
- HOLLiAS MACS V6.5.2用户操作手册(火电版).pdf
- 肿瘤专科护士理论知识考试题库600题(含答案).docx
- 第17课:第二次世界大战与战后国际秩序的形成高一历史下学期统编版(2019)必修中外历史纲要下.pptx
- 广东自考09235设计原理重点知识点汇总速记宝典.docx
- (市质检二检)莆田市2025届高中毕业班第二次教学质量检测生物试卷(含答案).docx
- 草方格沙障横向铺草机构及装置设计.doc
文档评论(0)