打印
[单片机芯片]

CH567开发板, 请问,TF卡读取问题!

[复制链接]
1042|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
clvert|  楼主 | 2019-11-14 11:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
贴一下代码

使用特权

评论回复
沙发
clvert|  楼主 | 2019-11-14 11:47 | 只看该作者
int main()
{
        UINT8   s,c;
        UINT16  i,TotalCount;
        UINT8 buf[512];

        Interrupt_init( 1<<INT_ID_SDC );     /* 系统总中断开启 */
        SysClkInit();           /* 初始化系统时钟 */
        mInitSTDIO_UR3();       /* 调试信息初始化 printf调用 */

        SDIO0Init();
        CH567LibInit( );//初始化U盘程序库以支持U盘文件  GJ
        printf("Wait Connect...\n");
        while( 1 )
        {
                s = SD0CheckConnect( &TF_SDParam );
                if(s == OP_SUCCESS)        break;
                else      mDelaymS(100);
        }
        mDelaymS(1000);
        printf("TF Card connect...\n");

        s = SDCardConfig( &TF_SDParam );
        if(s != OP_SUCCESS)
        {
                printf("Init Failed...");
        }
        else
        {
                printf("Init Success...\n");
                printf("BlockSize:%d B \n", TF_SDParam.SDSecSize);
                printf("Cap:%ld MB \n", TF_SDParam.SDSecNum/2048);

                printf("Test read and write...\n");


                /* 读取原文件 */
                printf( "Open\n" );

                strcpy( mCmdParam.Open.mPathName, "/TOURD000.BIN" );


                s = CH567FileOpen( );  // 打开文件

                printf( "status = %02X \n",(UINT16)s);

                printf("\n");
                if ( s == ERR_MISS_DIR || s == ERR_MISS_FILE )// 没有找到文件
                {
                        printf( "no found TOURD000.BIN!\n" );
                }
                else
                {
                        printf( "found TOURD000.BIN!\n" );

                        mCmdParam.ByteRead.mByteCount = 16;  // 请求读出几十字节数据
                    mCmdParam.ByteRead.mByteBuffer= &buf[0];
                        s = CH567ByteRead( );  // 以字节为单位读取数据块,单次读写的长度不能超过MAX_BYTE_IO,第二次调用时接着刚才的向后读

                    for(c=0;c<16;c++)
                    {
                         printf("%02X  ",(UINT16)buf[c]);
                    }
                    printf("\n");

                }
                i = CH567FileClose( );
                mStopIfError( i );
        }

        while(1);

    return 0;
}

使用特权

评论回复
板凳
clvert|  楼主 | 2019-11-14 11:49 | 只看该作者
想读取TF卡内一个固定文件名的数据。
s = CH567FileOpen( );的返回是0x16,既不是ERR_MISS_DIR,也不是ERR_MISS_FILE,然后判断不了是否有这个文件,总是进入读取部分,读出来的数据自然也不对

使用特权

评论回复
地板
clvert|  楼主 | 2019-11-14 11:49 | 只看该作者
有没有技术帮忙解答一下?

使用特权

评论回复
5
WCHTech2| | 2019-11-14 15:21 | 只看该作者
clvert 发表于 2019-11-14 11:49
有没有技术帮忙解答一下?

可以拨打技术电话,025-52635282,陶工

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

13

主题

111

帖子

1

粉丝