
/*64Kbytes Block Erase; Send Data:0xD8,AddrH,AddrM,AddrL; */ void MX25L_Flash_BlockErase_64KB(uint32_t Block64KBAddr) { MX25L_Flash_WriteEnable(); MX25L_Flash_WaitIdle(); uint8_t data=MX25L_BlockErase_64KB; HAL_GPIO_WritePin(GPIOC,GPIO_PIN_8,GPIO_PIN_RESET); HAL_SPI_Transmit(&hspi6,&data,sizeof(data),1000); Block64KBAddr=Block64KBAddr*4096*16; uint8_t Address=(Block64KBAddr>>16); HAL_SPI_Transmit(&hspi6,&Address,sizeof(Address),1000); Address=(Block64KBAddr>>8); HAL_SPI_Transmit(&hspi6,&Address,sizeof(Address),1000); Address=Block64KBAddr; HAL_SPI_Transmit(&hspi6,&Address,sizeof(Address),1000); HAL_GPIO_WritePin(GPIOC,GPIO_PIN_8,GPIO_PIN_SET); MX25L_Flash_WaitIdle(); } |
调试OK了,有问题请指正; |