yulri 发表于 2011-7-9 22:09:34

路虎LPC1768开发板FatFS系统无法理解的问题!

我下载了一个专门针对路虎开发板的FatFS文件系统,编译下载后,奇怪的是三次运行里面只有一次是正常的,前两次都是报错;如下
第一次、-----------
挂在一个逻辑驱动器 成功 !
打开文件夹 Music 目录 失败 !
文件ftxt.txt打开 失败 !
第二次、----------
挂在一个逻辑驱动器 成功 !
打开文件夹 Music 目录 失败 !
文件ftxt.txt打开 失败 !
第三次、------------
初始化 SD卡 OK!
挂在一个逻辑驱动器 成功 !
打开文件夹 Music 目录 成功 !
文件ftxt.txt打开 成功 !
文件读取 成功!
工作描述:1、负责办公电脑、网络线路、交换机等网络设备的维护 2、负责打印机、复印机等办公设备的维护工作
3、机房改造,综合布线,设备检测
-------------------------------------------------

有用过此系统的吗,麻烦告知下是为什么呢!?
谢谢
源代码如下:

点击此处下载 ourdev_656339AC1G91.zip(文件大小:728K) (原文件名:NXP1768_FATFS(路虎开发板)1.zip)

yulri 发表于 2011-7-10 08:31:50

自己顶一下,可千万别沉下去了!
而且,我在网上搜了一下,这个文件系统移植过程中还真有很多问题呢!

90999 发表于 2011-7-10 09:41:32

开优化了?

yulri 发表于 2011-7-10 09:48:03

回复【2楼】90999张耀扬
开优化了?
-----------------------------------------------------------------------

应该没有啊,我截了张图,你看看是在哪里设置优化的吗?

http://cache.amobbs.com/bbs_upload782111/files_42/ourdev_656393G2PK89.png
(原文件名:1.png)

aozima 发表于 2011-7-10 10:35:36

mount时并没有读卡.
所以,99%是你的卡初始化没过.

yulri 发表于 2011-7-10 10:48:58

回复【4楼】aozima
mount时并没有读卡.
所以,99%是你的卡初始化没过.
-----------------------------------------------------------------------

我也知道是卡初始化没过,为何,三次里面又一次又是成功的呢??

yulri 发表于 2011-7-10 16:20:10

顶起!!!

yulri 发表于 2011-7-11 15:48:57

看来是要沉下去了,没希望了!

yulri 发表于 2011-7-13 10:40:23

已经搞定,可能是老卡,速度不够高,确实是初始化时要等待一下,要不然老卡,特别是MMC老卡不容易通过初始化!

初始化部分改进:

void LPC17xx_SPI_Init (void)
{
        uint32_t dummy;

        dummy = dummy; // avoid warning

        /* Initialize and enable the SSP0 Interface module. */               
        LPC_SC->PCONP |= (1 << 21);          /* Enable power to SSPI0 block*/
       
        /* SSEL is GPIO, output set to high. */
        LPC_GPIO0->FIODIR|=(1<<16);             /* P0.16 is output */
        LPC_PINCON->PINSEL1 &= ~(3<<0);             /* P0.16 SSEL (used as GPIO) */
        LPC17xx_SPI_DeSelect ();                                        /* set P0.16 high (SSEL inactiv) */
       
        /* SCK, MISO, MOSI are SSP pins. */
        LPC_PINCON->PINSEL0 &= ~(3UL<<30);          /* P0.15 cleared */
        LPC_PINCON->PINSEL0 |=(2UL<<30);          /* P0.15 SCK0 */
        LPC_PINCON->PINSEL1 &= ~((3<<2) | (3<<4));/* P0.17, P0.18 cleared */
        LPC_PINCON->PINSEL1 |=((2<<2) | (2<<4));/* P0.17 MISO0, P0.18 MOSI0 */
       
        /* PCLK_SSP0=CCLK */
        LPC_SC->PCLKSEL1 &= ~(3<<10);               /* PCLKSP0 = CCLK/4 (18MHz) */
        LPC_SC->PCLKSEL1 |=(1<<10);               /* PCLKSP0 = CCLK   (72MHz) */

        LPC_SSP0->CR0= 0x0007;                  /* 8Bit, CPOL=0, CPHA=0         */
        LPC_SSP0->CR1= 0x0002;                  /* SSP0 enable, master          */

        LPC17xx_SPI_SetSpeed (SPI_SPEED_400kHz);

////// ---------------------------------------------------------
/////可以用如下办法解决,是最好的方法,官方的

        /* wait for busy gone */
        while( LPC_SSP0->SR & ( 1 << SSPSR_BSY ) );

        /* drain SPI RX FIFO */
        while( LPC_SSP0->SR & ( 1 << SSPSR_RNE ) )
        {
                dummy = LPC_SSP0->DR;
        }
///// ---------
///// 也可以用延时等待的方式
/* -------------------------
       int i=60000; ///// 定义在开头,否则会报错
       while(i--){};

///// ------------------------------------------------------------
       
}

注意,在这里最好使用官方的例程,考虑的很详细和仔细,其他的例程作为参考。
上次用了一个专门针对路虎1768开发板的例程,没通过,加了例程里面留的一个QQ好吗想请教一下
结果被告知他没有义务告诉我原因,还好一整奚落!
不过,还是要感谢坛子里的大侠们!

ygx705 发表于 2011-8-17 14:58:09

回复【8楼】yulri
-----------------------------------------------------------------------
大家要顶上去啊

New_Learner 发表于 2011-11-22 18:50:48

MARK

liubinghui 发表于 2012-2-8 08:56:51

panshaoming 发表于 2012-7-21 23:00:23

楼主搞定了吗

wangyu_hust 发表于 2013-12-9 14:01:26

MARK~~~{:lol:}{:lol:}{:lol:}

sunplus 发表于 2014-1-22 10:48:08

yulri 发表于 2011-7-13 10:40
已经搞定,可能是老卡,速度不够高,确实是初始化时要等待一下,要不然老卡,特别是MMC老卡不容易通过初始 ...

楼主也是大侠   赞赞

machangsong521 发表于 2014-4-8 21:32:19

你好,我在论坛里看到你发的一个关于lpc1768实现fatfs的帖子,我下了你的程序,但是缺少文件。我弄了好久都实现不了,麻烦你能不能传给我一份,万分感谢
页: [1]
查看完整版本: 路虎LPC1768开发板FatFS系统无法理解的问题!