搜索
bottom↓
回复: 92

基于STM32的SD卡驱动及液晶驱动例程

[复制链接]

出0入0汤圆

发表于 2008-9-12 18:43:36 | 显示全部楼层 |阅读模式
方案:从SD卡读取图片到液晶屏显示(IAR4.22)

费了老半天劲终于搞定了!源代码共享了!
代码没有整理,大家将就着看吧!顺便发几张效果图!


(原文件名:PIC_1553.jpg)


(原文件名:PIC_2844.jpg)


(原文件名:PIC_6899.jpg)


(原文件名:PIC_7140.jpg)

手机拍的,效果不太好!下面是源文件目录!


(原文件名:1.jpg)

忘了说了,图片我是直接写入SD卡的。所以不用加文件系统!

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入0汤圆

 楼主| 发表于 2008-9-12 18:54:20 | 显示全部楼层
源文件ourdev_415790.rar(文件大小:43K) (原文件名:SD_Drive.rar)

出0入0汤圆

发表于 2008-9-12 18:59:16 | 显示全部楼层
屏幕是什么型号的

出0入0汤圆

发表于 2008-9-12 19:08:42 | 显示全部楼层
学习下,也问屏幕的型号。

出0入0汤圆

发表于 2008-9-12 19:15:10 | 显示全部楼层
下了,谢谢

出0入0汤圆

 楼主| 发表于 2008-9-12 19:44:06 | 显示全部楼层
ZYW-T24-36P   9325的主控

出0入0汤圆

发表于 2008-9-15 00:09:16 | 显示全部楼层
标记 9325的主控

出0入0汤圆

发表于 2008-9-15 09:24:29 | 显示全部楼层
很不错,谢谢楼主共享。

出0入0汤圆

发表于 2008-9-15 10:12:20 | 显示全部楼层
不错哦

出0入0汤圆

发表于 2008-9-15 11:32:55 | 显示全部楼层
顶一下.

出0入0汤圆

发表于 2008-9-15 14:36:03 | 显示全部楼层
ding

出0入0汤圆

发表于 2008-9-19 09:19:37 | 显示全部楼层
太硬了

出0入0汤圆

发表于 2008-9-22 21:04:14 | 显示全部楼层
这个屏是SPI还是16bit并行,楼主驱动这个屏一秒能刷几帧啊,我用7s64驱动,2s才刷一帧,慢死

出0入0汤圆

发表于 2008-9-22 22:50:05 | 显示全部楼层
记号

出0入0汤圆

 楼主| 发表于 2008-9-23 09:54:59 | 显示全部楼层
16并,刷新速度主要受MCU速度限制。

出0入0汤圆

发表于 2008-9-23 14:50:28 | 显示全部楼层
很好的资料

出0入0汤圆

发表于 2008-9-26 22:09:27 | 显示全部楼层
谢谢共享!

出0入0汤圆

发表于 2008-9-27 09:21:11 | 显示全部楼层
不错

支持支持

出0入0汤圆

发表于 2008-10-1 14:06:28 | 显示全部楼层
jihao加号

出0入0汤圆

 楼主| 发表于 2008-10-3 21:56:39 | 显示全部楼层
自己顶一下!

出0入0汤圆

发表于 2008-10-6 16:17:09 | 显示全部楼层
记号

出0入0汤圆

发表于 2008-10-8 19:22:38 | 显示全部楼层
标记 9325的主控

出0入0汤圆

发表于 2008-10-18 10:37:36 | 显示全部楼层
谢谢  下来 参考一下

出0入0汤圆

发表于 2008-10-19 17:19:14 | 显示全部楼层
楼主是否可以提供整个工程的文件?使用了您的库文件,总是Link出错阿!

出0入0汤圆

发表于 2008-10-19 17:29:10 | 显示全部楼层
Building configuration: STM32Mini - BOOT_FLASH 

Updating build tree... 

SD_Driver.c 

SD_User_API.c 

main.c 

sdcmd.c 

Warning[Pe550]: variable "tmp" was set but never used F:\W Display 测试系统板\STN测试系统\学习编程\STM32F-LCD\SKSTME32F-SDcard\SD_Driver\src\sdcmd.c 681 

sdcrc.c 

sddriver.c 

sdhal.c 

Linking 

Error[e46]: Undefined external "SPI_Init" referred in sdhal ( F:\W Display 测试系统板\STN测试系统\学习编程\STM32F-LCD\SKSTME32F-SDcard\project\EWARM\ 

BOOT_FLASH\Obj\sdhal.r79 ) 

Error[e46]: Undefined external "SPI_Cmd" referred in sdhal ( F:\W Display 测试系统板\STN测试系统\学习编程\STM32F-LCD\SKSTME32F-SDcard\project\EWARM\ 

BOOT_FLASH\Obj\sdhal.r79 ) 

Error[e46]: Undefined external "SPI_GetFlagStatus" referred in sdhal ( F:\W Display 测试系统板\STN测试系统\学习编程\STM32F-LCD\SKSTME32F-SDcard\project\EWARM\ 

BOOT_FLASH\Obj\sdhal.r79 ) 

Error[e46]: Undefined external "SPI_SendData" referred in sdhal ( F:\W Display 测试系统板\STN测试系统\学习编程\STM32F-LCD\SKSTME32F-SDcard\project\EWARM\ 

BOOT_FLASH\Obj\sdhal.r79 ) 

Error[e46]: Undefined external "SPI_ReceiveData" referred in sdhal ( F:\W Display 测试系统板\STN测试系统\学习编程\STM32F-LCD\SKSTME32F-SDcard\project\EWARM\ 

BOOT_FLASH\Obj\sdhal.r79 ) 

 

Total number of errors: 5 

Total number of warnings: 1 

出0入0汤圆

发表于 2008-10-28 14:03:14 | 显示全部楼层
回24楼,你的问题是因为楼主使用ST的库文件为1.0版的,而你用的为新版的。主要是因为不同版本对库中函数定义不同

例如:

Error[e46]: Undefined external "SPI_GetFlagStatus" referred in sdhal ( F:\W Display 测试系统板\STN测试系统\学习编程\STM32F-LCD\SKSTME32F-SDcard\project\EWARM\  

BOOT_FLASH\Obj\sdhal.r79 )  

Error[e46]: Undefined external "SPI_SendData" referred in sdhal ( F:\W Display 测试系统板\STN测试系统\学习编程\STM32F-LCD\SKSTME32F-SDcard\project\EWARM\  





"SPI_SendData"改为"SPI_I2S_SendData"

"SPI_GetFlagStatus"改为"SPI_I2S_GetFlagStatus"就可以了

出0入0汤圆

发表于 2008-10-29 08:43:39 | 显示全部楼层
问楼主: 你是如何把数据放入sd卡的?

出0入0汤圆

 楼主| 发表于 2008-10-30 11:15:26 | 显示全部楼层
【26楼】 



直接写二进制数据,就是吧sd卡当作闪存芯片用。软件是用的FlexHEX Editor V2.5.0(代理服务器出问题了一直传不上来见谅!)

出0入0汤圆

发表于 2008-11-4 15:13:08 | 显示全部楼层
与lz讨论:

 看了你的源文件,你所使用的sd卡部分应该来自英贝特,其中包含的的st库为1.0版本。我也下载了英贝特的资料调试可以通过,但是把st库文件升级为2.02后,sd卡读取失败,错误码0x34(?)单步调式时候发现问题

INT8U SD_ActiveInit(void)

{

        INT8U param[4] = {0,0,0,0},resp[5],ret;

        INT32U i = 0;

        

         do 

    {                                                                                                                /* 发出CMD1, 查询卡的状态, send CMD1 to poll card status */

        ret = SD_SendCmd(CMD1, param, CMD1_R, resp);

        if (ret != SD_NO_ERR)

                       return ret;

        i ++;

         SD_Sleep(1000000);  //此句为我所加

    }while (((resp[0] & MSK_IDLE) == MSK_IDLE) && (i <= SD_IDLE_WAIT_MAX));

加入“ SD_Sleep(1000000);  //此句为我所加”后可以通过,

故我猜测换用2.02的库后,读取速变快啦,

不知lz可有兴趣把st库升级一下试试看?

范例下载参考

http://www.realview.com.cn/down-list.asp?id=586

出0入0汤圆

 楼主| 发表于 2008-11-4 17:16:02 | 显示全部楼层
谢谢楼上的提醒!

  因为1.0的库文件没有致命的Bug,所以一直没有更新。有点跟不上时代了:-)!
头像被屏蔽

出0入0汤圆

发表于 2008-11-5 15:10:38 | 显示全部楼层
谢谢阿宽。



咦,问一句:阿宽的头像打功夫的小男孩是谁?

出0入0汤圆

 楼主| 发表于 2008-11-5 20:54:30 | 显示全部楼层
呵呵 有裤子过冬了!



是我小侄子!不过不是在“打功夫”,这家伙在我我跳舞勒,o(∩_∩)o...

出0入0汤圆

发表于 2008-11-25 23:06:45 | 显示全部楼层
记号 mark 学习了

出0入0汤圆

发表于 2008-11-26 00:06:54 | 显示全部楼层
thanks

出0入0汤圆

发表于 2008-11-26 08:50:24 | 显示全部楼层
请问楼主用的什么硬件啊,可以发你的硬件原理图上来吗?这样我们大家好对照学习啊,替大家谢过你了

出0入0汤圆

发表于 2008-11-28 12:40:20 | 显示全部楼层
楼主使用9325从SD读数刷屏能上多少帧?你用的SD卡是spi模式还是SD模式?我数据存在外部SPI FLASH中刷屏速度不理想,单色(不从外部取数据,感觉能上10帧)但是从SPI取数据时速度就慢了 大约只有2帧 stm32f103vbt 72Mhz,很想知道用spi接口的9325屏速度能上多少帧

出0入0汤圆

发表于 2008-11-29 15:33:02 | 显示全部楼层
俺也买了STM32,但调试不成功.

楼主的接线图能不能共享共享?

出0入0汤圆

发表于 2008-11-29 18:43:03 | 显示全部楼层
支持一个

出0入0汤圆

发表于 2008-12-1 17:27:39 | 显示全部楼层
小弟初学。请教一些基础问题?

 

   对SD卡的操作想了解一些。请问楼主(强人),LCD要显示的图片,在SD卡内部是什么样的数据?是你使用取码软件提出来的代码?还是直接就是JPG,BMP,等这些文件?也就是说图片在SD卡中是什么格式?要是代码格式(0xf0这些代码)。那您是怎么放到SD卡内部的?

谢谢。

出0入0汤圆

发表于 2008-12-3 15:34:18 | 显示全部楼层
问题同上,请楼主请教

出0入0汤圆

发表于 2008-12-3 15:44:08 | 显示全部楼层
不过没有加文件系统显得有些打折扣了,楼主可以考虑把文件系统加进来。SD操作的那部分库文件里应该有,楼主还是完善一下吧

出0入0汤圆

发表于 2008-12-3 19:42:00 | 显示全部楼层
SD卡驱动是4bit做的吗?

出0入0汤圆

发表于 2009-1-6 18:25:54 | 显示全部楼层
mark

出0入0汤圆

发表于 2009-1-10 14:32:54 | 显示全部楼层
顶起来,偶是新手也有45楼的疑问

出0入0汤圆

发表于 2009-2-24 13:59:44 | 显示全部楼层
mark

出0入0汤圆

发表于 2009-5-5 09:32:27 | 显示全部楼层
搜集资料 谢谢

出0入0汤圆

发表于 2009-5-8 09:45:50 | 显示全部楼层
楼主能给个联系方式不?QQ或手机
我QQ:460000425
万分火急,需要您的指教!

出0入0汤圆

发表于 2009-5-8 10:06:13 | 显示全部楼层
mark.

出0入0汤圆

发表于 2009-5-8 10:26:41 | 显示全部楼层
mark.

出0入0汤圆

发表于 2009-7-31 13:33:12 | 显示全部楼层
顶一个
顺便问一下
#define SPI_FLASH_PWR_OFF()     GPIO_ResetBits(GPIOD, GPIO_Pin_10)
#define SPI_FLASH_PWR_ON()    GPIO_SetBits(GPIOD, GPIO_Pin_10)
是不是搞反了,我用的STM3210B-LK1
栅极为低电平MOSFET才导通吧

出0入0汤圆

发表于 2009-8-13 10:13:38 | 显示全部楼层
呵呵,那天我也试试。

出0入0汤圆

发表于 2009-8-21 15:01:16 | 显示全部楼层
收录,谢谢楼主

出0入0汤圆

发表于 2009-8-21 16:10:41 | 显示全部楼层
mark,mark

出0入0汤圆

发表于 2009-8-21 16:34:58 | 显示全部楼层
mark

出0入0汤圆

发表于 2009-8-24 13:36:51 | 显示全部楼层
顶顶 顶

出0入0汤圆

发表于 2009-9-17 16:29:02 | 显示全部楼层
mark

出0入0汤圆

发表于 2009-10-21 22:56:48 | 显示全部楼层
记下

出0入0汤圆

发表于 2009-10-22 06:31:33 | 显示全部楼层
下了,谢谢!

出0入0汤圆

发表于 2010-1-13 16:41:36 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-4-20 19:44:43 | 显示全部楼层
好!有点眉目

出0入0汤圆

发表于 2010-5-30 21:49:54 | 显示全部楼层
好资料

出0入0汤圆

发表于 2010-6-17 22:38:18 | 显示全部楼层
学习中!

出0入0汤圆

发表于 2010-6-23 13:03:31 | 显示全部楼层
路过,收集,学习!

出0入0汤圆

发表于 2010-6-23 13:33:19 | 显示全部楼层
学习

出0入0汤圆

发表于 2010-7-9 13:32:44 | 显示全部楼层
MARK

出0入0汤圆

发表于 2010-7-12 20:25:37 | 显示全部楼层
满好

出0入0汤圆

发表于 2010-7-13 11:20:02 | 显示全部楼层
回复【27楼】418425051 宽
【26楼】  
直接写二进制数据,就是吧sd卡当作闪存芯片用。软件是用的flexhex editor v2.5.0(代理服务器出问题了一直传不上来见谅!)

-----------------------------------------------------------------------

请问软件是怎么下载到SD卡中的?我一用这个保存,就直接是文件形式了,这样就不能直接读出SD卡了吧?因为你没有上文件,而是直接读取的二进制数从SD卡中,是吧?
楼主能帮助回答一下吗?

出0入0汤圆

发表于 2010-12-31 13:25:24 | 显示全部楼层
最近正在研究,學習了

出0入0汤圆

发表于 2011-1-4 20:42:25 | 显示全部楼层
记号

出0入0汤圆

发表于 2011-6-11 12:44:57 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-6-11 14:52:59 | 显示全部楼层
MARK

出0入0汤圆

发表于 2011-6-15 13:15:22 | 显示全部楼层
多谢共享,来点说明更好

出0入0汤圆

发表于 2011-7-21 16:31:17 | 显示全部楼层
不错,硬软件全包!

出0入0汤圆

发表于 2011-8-24 16:16:43 | 显示全部楼层
mark!

出0入0汤圆

发表于 2011-8-24 21:00:45 | 显示全部楼层
学习!

出0入0汤圆

发表于 2011-9-2 22:45:30 | 显示全部楼层
谢谢!

出0入0汤圆

发表于 2011-9-3 11:58:12 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-9-3 16:28:50 | 显示全部楼层
回复【12楼】armfans
-----------------------------------------------------------------------

屏幕的驱动函数里面有延迟函数,把延迟改小就行啦,我做的一个项目,每秒钟写一千次没问题(不是一千字节,是一千次类容显示)

出0入0汤圆

发表于 2011-9-4 22:14:04 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-9-9 11:13:03 | 显示全部楼层
谢谢

出0入0汤圆

发表于 2011-10-31 09:49:53 | 显示全部楼层
回复【楼主位】418425051 宽
-----------------------------------------------------------------------

mark!谢谢!

出0入0汤圆

发表于 2012-9-4 17:00:37 | 显示全部楼层
继续顶一下!!

出0入0汤圆

发表于 2012-9-11 13:17:27 | 显示全部楼层
收藏,学习

出0入0汤圆

发表于 2012-9-17 10:04:01 | 显示全部楼层
O(∩_∩)O谢谢楼主

出0入0汤圆

发表于 2012-9-23 18:21:06 | 显示全部楼层
顶一个,学习了

出0入0汤圆

发表于 2012-9-24 22:27:27 | 显示全部楼层
MARK               

出0入0汤圆

发表于 2012-9-28 03:53:41 | 显示全部楼层
路过看看学习!!

出0入0汤圆

发表于 2012-9-29 13:48:36 | 显示全部楼层
mark。。。。。。。。。。。。。。。。。。。。。。

出0入0汤圆

发表于 2012-10-15 11:56:22 | 显示全部楼层
我下MARK下,因为马上要使用单片机驱动SD卡,写TXT文档文件.

出0入0汤圆

发表于 2012-10-15 12:29:03 | 显示全部楼层
楼主辛苦

出0入0汤圆

发表于 2012-10-19 09:43:17 | 显示全部楼层
收藏先!
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-27 10:08

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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