[求助]CH375做HOST时等不到中断

用CH375读U盘时等不到中断, 代码如下: void CH375_Test(void) { UINT8 err = 0; UINT32 i = 0;

CH375_PortInit();

// xWriteCH375Cmd(CMD_RESET_ALL); // OSTimeDlyHMSM(0, 0, 1, 0);

err = CH375LibInit(); //这里成功

gErr = err;

// OSTimeDlyHMSM(0, 0, 1, 0);

while(1) { while(CH375DiskStatus != DISK_CONNECT) xQueryInterrupt(); // 这里有读到中断, 说明引脚和单片机(stm32)连接以及port设置(浮空输入和上拉输入都试过)没问题; OSTimeDlyHMSM(0, 0, 0, 200); for(i = 0; i < 5; i++) { Delay_Ms(100); if(CH375DiskReady() == ERR_SUCCESS) // 这里就一直在等中断, 等不到, 用while ( xReadCH375Cmd( ) & 0x80 ); 和while ( CH375_INT_WIRE ); 两种方式都试过, 前者读出来一直为0x80; { break; } }

mStrcpy((char*)mCmdParam.Open.mPathName, "/TEST.TXT"); err = CH375FileOpen(); if(err != ERR_SUCCESS) break;

可以看到U盘会闪几下, 就不动了;

用串口方式读是可以的, 只不过速度实在太慢, 所以就换成了并口, 用stm32的GPIO模拟并口;

用串口最大只能把波特率设置为115200,再大就不行了


对了, 我用的是5V电压,电路图也是按照5V的标准来画的(V3和GND间接了0.01u的电容), 但是信号线上测的高电平只有3.3V,因为stm32驱动只有这么高,不知道这样会不会有问题?


问题不大,我们芯片可以接受3.3V,但是建议你使芯片工作在3.3V,以符合你的单片机电压。首先你用测试命令,测试下你的接口通讯是不是正常,用万用表测量下是中断引脚是不是低电平,并口连接和串口连接硬件解法在TXD引脚有区别,TXD为低才选择并口


只有登录才能回复,可以选择微信账号登录