update:

修改因数据丢失导致退出失败的bug
This commit is contained in:
2026-09-03 16:25:31 +08:00
parent 1e3c618fd2
commit ca8c82c1f1
4 changed files with 518 additions and 464 deletions
+1
View File
@@ -144,6 +144,7 @@ static void bsp_Uart_Send(bsp_Uart_t *p_Uart,u8 *pData, u16 Len)
{
while (!LL_USART_IsActiveFlag_TXE(p_Uart->Uart));
LL_USART_TransmitData8(p_Uart->Uart, pData[i]); // 发送一个字节的数据
while (!LL_USART_IsActiveFlag_TC(p_Uart->Uart));//解决发送丢数据问题
}
}
+3 -1
View File
@@ -341,13 +341,15 @@ static void bsp_iap_rx_task(u8 *p_data, u16 len, void *other_data)
{
u8 tx_data_len;
u16 erase_size, erase_page, page_size;
float temp;
erase_page = p_data_offset[0] << 8 | p_data_offset[1];
page_size = p_data_offset[2] << 8 | p_data_offset[3];
p_iap->page_size = page_size;
/* 计算需要擦除的扇区数 */
erase_page /= ((float)SECTOR_SIZE / (float)page_size);
temp = ((float)SECTOR_SIZE / (float)page_size);
erase_page = (u16)(((float)erase_page/temp)+0.5);
flash_page_erase(erase_page);
tx_data_len = 0;