OpenEdv-开源电子网

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

再次请教原子老师,关于USB的问题。

[复制链接]

20

主题

187

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
288
金钱
288
注册时间
2011-12-14
在线时间
0 小时
发表于 2013-12-26 01:03:55 | 显示全部楼层 |阅读模式
   这些日子忙乎把战舰版的SD卡由SPI 方式改为SDIO方式,在移植的过程中,跌跌撞撞的,有些问题,经过反复试验,总算通过了,最后剩下显示jpeg图片问题,

在老师的指导下,也通过了,还有个USB的问题,老师也进行详细指导,我认为这个问题,自己解决不会很难,过高信赖自己的技术水平了。

    我又了连续干了两天,没有攻克,心思,照我的水平,再干两天,也搞不出来的,还是厚着脸皮,再次请教原子老师。

   这USB,在SPI 那个版本程序里,已经好用了,甚至可以做到 SD卡 和 W25Q64 的内容,可以相互拷贝,这部分程序也是照搬过来的,没有改动任何语句,

只是个在初始化里有程序如下:

//   Mass_Memory_Size[0]=(long long)SD_GetSectorCount()*512;  //得到SD卡容量(字节),当SD卡容量超过4G的时候,需要用到两个u32来表示

  Mass_Memory_Size[0]=(long long)SDCardInfo.CardCapacity; //把上一句改成这一句,得到SD卡容量(字节)
//-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  Mass_Block_Size[0] =512;//因为我们在Init里面设置了SD卡的操作字节为512个,所以这里一定是512个字节(一个扇区).
  Mass_Block_Count[0]=Mass_Memory_Size[0]/Mass_Block_Size[0];   //计算出SD卡有多少个扇区
//------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
            Mass_Memory_Size[1]=1024*1024*6; //W25Q64的前6M字节,接着500K(6.5M)为用户区,最后1.5M为汉字库区
  Mass_Block_Size[1] =512;         //因为我们在Init里面设置了SD卡的操作字节为512个,所以这里一定是512个字节.
  Mass_Block_Count[1]=Mass_Memory_Size[1]/Mass_Block_Size[1]; //求出扇区数量
//----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------  

   由于在SDIO方式下,没有SPI方式的 获取 SD卡  容量(字节) 的函数: SD_GetSectorCount();原子老师告诉用: SDCardInfo.CardCapacity;  

代替它,经查对得知,  .CardCapacity;  是SD卡相关的结构体SD_CardInfo;的一个成员,它是保存SD卡容量的,按老师的指导方法i,把第一行的代码,改为第二行

代码,编译顺利通过 ,大喜,可是高兴的太早了,下载到开发板上,USB好用一半,W25Q64好用,SD卡不好用,表现的形式是,SD卡的盘符能够看到,但打不开

还无法格式化,有时能打开,显示容量中有几百兆。我翻看好多的程序,都不见效果,又乱了阵脚!

    细想一下,这USB和SPI方式时没有什么区别呀,仅仅SD卡的接线方式有所变化,另外SDIO还多了个中断,是不是这个中断,和USB的中断发生了冲突,我学着

改了几处,不见改变,越来越觉的这小小的USB,学文大的呢,自己还是解决不了这个问题,还是趁早问老师吧,USB这个故障到底怎么能排除呢?





















正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-12-26 11:23:25 | 显示全部楼层
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

20

主题

187

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
288
金钱
288
注册时间
2011-12-14
在线时间
0 小时
 楼主| 发表于 2013-12-26 11:50:34 | 显示全部楼层
---------------------------------
回复【2楼】正点原子:

http://www.openedv.com/posts/list/0/25896.htm#150192                                         
    

===============================================================

再次谢谢老师的又一次指导!
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-7 09:38

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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