CH571做USB大容量存儲器無法格式化磁盤

CH571做USB大容量存儲器無法格式化磁盤,W25Q128 SPIFLASH

SPI? ? ? ? CH571

CS? ? ? ? ?PB12

CLK? ? ? ?PB13

SO? ? ? ? ?PB14

SI? ? ? ? ? ?PB15

捕獲3.JPG


現(xiàn)象顯示windows無法格式化

1675825573120643.jpg

1675825573193307.jpg

1675825573155615.jpg

程序先初始化SPI讀取ID測試是否正常之后再顯示到LCD,已注意到SPI的IO切換

SPIFlash_Init();

????LCD_Init();
????LCD_Fill(0,?0,?240,?240,?BLACK);

????LCD_ShowString(0,?0,?"Speaker?Engine?V1.5",?16,?RED);
????show_str(0,?16,?"Hello?固件升級",?16,?BLUE);
????char?buf[16];
????sprintf(buf,"F:%04X",flash_id);
????LCD_ShowString(0,?16,?buf,?16,?RED);
void?SPIFlash_Init(void)
{
????GPIOB_SetBits(?GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14?);
????GPIOB_ModeCfg(?GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14,?GPIO_ModeOut_PP_5mA?);	//?MOSI/SCK/CS
????GPIOB_SetBits(?GPIO_Pin_15?);
????GPIOB_ModeCfg(?GPIO_Pin_15,?GPIO_ModeIN_PU?);	//?MISO

????R16_PIN_ALTERNATE?|=?RB_PIN_SPI0;//PB12~15

????//SPI0_MasterDefInit();
????R8_SPI0_CLOCK_DIV?=?4;?//?主頻時鐘4分頻
????R8_SPI0_CTRL_MOD?=?RB_SPI_ALL_CLEAR;
????R8_SPI0_CTRL_MOD?=?RB_SPI_MOSI_OE?|?RB_SPI_MISO_OE?|?RB_SPI_SCK_OE;
????R8_SPI0_CTRL_CFG?|=?RB_SPI_AUTO_IF;?????//?訪問BUFFER/FIFO自動清除IF_BYTE_END標(biāo)志
????R8_SPI0_CTRL_CFG?&=?~RB_SPI_DMA_ENABLE;?//?不啟動DMA方式

????SPI0_DataMode(?Mode3_HighBitINFront?);//高位在前——W25Q64均支持模式0/3
????SPI0_CLKCfg(?4?);
????flash_id?=?SPIFlash_ReadID();
????//printf("id:0x%04x\n",?SPIFlash_ReadID()?);
}

LCD之后切換回SPI IO用于驅(qū)動LCD

void?LCD_GPIO_Init(void)
{
????if(0)
????{
????????//背光
????????GPIOA_ResetBits(GPIO_Pin_10);
????????GPIOA_ModeCfg(GPIO_Pin_10,?GPIO_ModeOut_PP_5mA);
????}
????LCD_CS_Set();
????LCD_DC_Set();
????LCD_RES_Set();

????GPIOB_ModeCfg(GPIO_Pin_7,?GPIO_ModeOut_PP_5mA);
????GPIOA_ModeCfg(GPIO_Pin_12?|?GPIO_Pin_13?|?GPIO_Pin_14?|?GPIO_Pin_15,?GPIO_ModeOut_PP_5mA);

????R16_PIN_ALTERNATE?&=?~RB_PIN_SPI0;

????R8_SPI0_CLOCK_DIV?=?4;?//?主頻時鐘4分頻
????R8_SPI0_CTRL_MOD?=?RB_SPI_ALL_CLEAR;
????R8_SPI0_CTRL_MOD?=?RB_SPI_MOSI_OE?|?RB_SPI_SCK_OE;
????R8_SPI0_CTRL_CFG?|=?RB_SPI_AUTO_IF;?????//?訪問BUFFER/FIFO自動清除IF_BYTE_END標(biāo)志
????R8_SPI0_CTRL_CFG?&=?~RB_SPI_DMA_ENABLE;?//?不啟動DMA方式

????SPI0_DataMode(Mode3_HighBitINFront);
}

測試讀取到ID為0xFFFF,SPI FLASH右側(cè)連接的IO已設(shè)置浮空輸入,SPI信號波形正常

IMG_20230208_111348.jpg

不確定是不是SPI FLASH的MISO和MOSI信號接反了,可以幫忙確認(rèn)一下嘛


熱門產(chǎn)品 : USB3.0 HUB控制器:CH634

飛線調(diào)整了一下MISO和MOSI引腳,可以讀出EF17,存儲器功能也可以正常格式化使用了


只有登錄才能回復(fù),可以選擇微信賬號登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频