小学生
最后登录1970-1-1
在线时间 小时
注册时间2023-2-13
|
楼主 |
发表于 2023-2-16 17:36:40
|
显示全部楼层
整片擦除外部flash之后还不行,我改了一下原来的主函数
- static void USB_Delay(__IO uint32_t nCount)
- {
- for(; nCount != 0; nCount--);
- }
- __IO uint32_t DeviceID = 0;
- __IO uint32_t FlashID = 0;
- int main(void)
- {
- /* USART config */
- USART_Config();
-
- LED_GPIO_Config();
-
- /*初始化*/
- Set_System();
-
- /*设置USB时钟为48M*/
- Set_USBClock();
- FLASH_SPI_disk_initialize();
- /*唤醒flash*/
- SPI_Flash_WAKEUP();
-
- /* 获取 Flash Device ID */
- DeviceID = SPI_FLASH_ReadDeviceID();
- USB_Delay(500);
-
- /* 获取 SPI Flash ID */
- FlashID = SPI_FLASH_ReadID();
- printf("\r\n FlashID is 0x%X,\
- Manufacturer Device ID is 0x%X\r\n", FlashID, DeviceID);
-
- /*配置USB中断(包括SDIO中断)*/
- USB_Interrupts_Config();
- SPI_FLASH_BulkErase();
- SPI_Flash_WAKEUP();
- /*USB初始化*/
- USB_Init();
- printf("\r\n 野火 F103-霸道 STM32 USB MASS STORAGE 实验\r\n");
-
- while (bDeviceState != CONFIGURED); //等待配置完成
-
- printf("\r\n 野火 F103-霸道 STM32 USB MASS STORAGE 实验\r\n");
-
- while (1)
- {
- LED2_TOGGLE;
- USB_Delay(0x0FFFFF);
- }
- }
复制代码 |
|