[求助] STM32 + SPI + CH376 ??

我用STM32F103 的 SPI 接口 接 CH376 ,但是始终感觉有点不对,,

硬件上我在 STM32和CH376之间连接了6跳线,SPI4条,另外由STM32开发板供电的两条电源线,

程序如下:

ChipConfig();

CH376_Delay(0xfffff); CH376_Enable();

CH376_Delay(0xffff); while(1) { CH376_Enable();CH376_Delay(0xfff); Spi_WriteByte(CMD01_GET_IC_VER); ///< 版本号读取命令 CH376_Delay(0xfff); ///< 等待响应 byteRead = Spi_WriteByte(SPI_BYTE_DUMP);///< 读取版本号 CH376_Disable();CH376_Delay(0xfff); if( (byteRead & 0xC0) == 0x40 ) ///< bits 7, 6 必须为 0,1 { break; } } dprintf("CH376 Version 0x%x\r\n",byteRead);

CH376_Enable();CH376_Delay(0xfff); Spi_WriteByte(CMD11_CHECK_EXIST);CH376_Delay(0xfff); ///< 测试单片机与CH376之间的通讯接口 Spi_WriteByte(0x65);CH376_Delay(0xfff); byteRead = Spi_WriteByte(SPI_BYTE_DUMP);CH376_Delay(0xfff); CH376_Disable();CH376_Delay(0xfff); dprintf("check exist = 0x%02x\r\n",byteRead); CH376_Enable();CH376_Delay(0xfff); Spi_WriteByte(CMD11_SET_USB_MODE); ///< 设置USB模式 CH376_Delay(0xffff); ///< 等待响应 Spi_WriteByte(0x06);CH376_Delay(0xfff); ///< 模式代码,自动检测USB设备连接,代码3用于SD卡 byteRead = Spi_WriteByte(SPI_BYTE_DUMP);CH376_Delay(0xfff); dprintf("set usb mode , status = 0x%02x\r\n",byteRead); CH376_Disable();CH376_Delay(0xfff); while((byteRead = CH376_ReadStatus()) != PARA_STATE_INTB) { Delay_s(1); dprintf("Can't find U disk ! error code = 0x%02x\r\n",byteRead); } dprintf("U disk OK !\r\n");

能够读取到version为0x43,后面的就全都不对了 ??? 求解,谢谢!! QQ 845377735

可以给我发邮件,我给你一个STM32硬件SPI操作CH376


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