update:
修改因数据丢失导致退出失败的bug
This commit is contained in:
@@ -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
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user