OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5547|回复: 6

请教下,读取sd卡,u盘里面的bmp图片解码显示 ?

[复制链接]

259

主题

806

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1887
金钱
1887
注册时间
2012-10-28
在线时间
353 小时
发表于 2016-1-12 10:09:13 | 显示全部楼层 |阅读模式
5金钱
本帖最后由 hpdell 于 2016-1-13 09:48 编辑

请教下,读取sd卡、u盘里面的bmp图片解码显示,sd卡与u盘里面的bmp图片文件完全一样,图片的位图也都一样,

bmp的位图图片有:1、4、8、16、24、32位的,除8位U盘里面的图片显示颜色不正常位,其他都正常,sd卡里面的所以位图显示都正常。

#pragma pack(4)                                    // 这个地方改成4字节对齐,如果不改成4字节对齐,那么u盘读取失败
typedef  __packed struct{
        unsigned char type[2];
        unsigned long int file_size;
        unsigned long int reserved;
        unsigned long int offset;
        unsigned long int header_info_size;   //0x28
        unsigned long int width;
        unsigned long int height;
        unsigned short int planes;   //always 1
        unsigned short int bit_count; // 1 4 8 16 24 32
        unsigned long int compression;
        unsigned long int image_size; //can set 0(rgb)
        unsigned long int xpels_per_meter;
        unsigned long int ypels_per_meter;
        unsigned long int color_used;
        unsigned long int color_important;
        unsigned long int mask;
        
}BMP_MASK_T;


按照上面改成4字节对齐后,sd卡显示仍然正常,但是读取u盘里面的 8位 位图图片显示时,显示的图片颜色不对,不知道是什么情况啊 ???



具体情况如下:

读取sd卡里面的8位位图图片显示如下:
这个图片显示时正常的。



读取u盘里面的8位位图图片显示效果如下:
这个读取u盘里面的图片显示是不正常的  ?????



读取sd卡里面的数据截图如下:
读取sd卡里面的数据是正常的。



读取u盘里面的8位位图图片数据如下:
读取u盘里面的数据是不正常的 ???????????????????????????????????????????????????



从读取的数据来看,读取u盘里面的8位位图图片的数据就是错误的(除读取u盘里面的8位图外,其他位图格式的图片显示都正常),
这是为何啊 ???













最佳答案

查看完整内容[请看2#楼]

终于搞定了,在fatfs系统里面的 ffconfig.h 里面,#define _USE_BUFF_WO_ALIGNMENT 1 吧这个1 改成0,ok了
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

259

主题

806

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1887
金钱
1887
注册时间
2012-10-28
在线时间
353 小时
 楼主| 发表于 2016-1-12 10:09:14 | 显示全部楼层
终于搞定了,在fatfs系统里面的 ffconfig.h 里面,#define _USE_BUFF_WO_ALIGNMENT  1   

吧这个1 改成0,ok了
回复

使用道具 举报

8

主题

33

帖子

0

精华

新手入门

积分
18
金钱
18
注册时间
2016-1-4
在线时间
30 小时
发表于 2016-1-12 10:25:31 | 显示全部楼层
我还在研究中
回复

使用道具 举报

259

主题

806

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1887
金钱
1887
注册时间
2012-10-28
在线时间
353 小时
 楼主| 发表于 2016-1-12 11:11:43 | 显示全部楼层

好啊,等研究完了告诉一下啊
回复

使用道具 举报

6

主题

24

帖子

0

精华

初级会员

Rank: 2

积分
69
金钱
69
注册时间
2016-3-7
在线时间
15 小时
发表于 2016-3-14 20:44:48 | 显示全部楼层
hpdell 发表于 2016-1-12 10:09
终于搞定了,在fatfs系统里面的 ffconfig.h 里面,#define _USE_BUFF_WO_ALIGNMENT  1   

吧这个1 改成 ...

楼主 如何利用文件管理系统读取SD卡中图片并显示呢
回复

使用道具 举报

259

主题

806

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1887
金钱
1887
注册时间
2012-10-28
在线时间
353 小时
 楼主| 发表于 2016-3-15 12:07:01 | 显示全部楼层
大海的路 发表于 2016-3-14 20:44
楼主 如何利用文件管理系统读取SD卡中图片并显示呢

fatfs 文件系统有读写函数,配置好后,直接使用fatfs 提供的读写函数就可以了
回复

使用道具 举报

6

主题

24

帖子

0

精华

初级会员

Rank: 2

积分
69
金钱
69
注册时间
2016-3-7
在线时间
15 小时
发表于 2016-3-16 21:11:09 | 显示全部楼层
hpdell 发表于 2016-3-15 12:07
fatfs 文件系统有读写函数,配置好后,直接使用fatfs 提供的读写函数就可以了

本人小白一个 看不懂原子哥的程序 能否请大神详细指点一二
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-26 09:54

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表