worked on test board
This commit is contained in:
26
Src/main.c
26
Src/main.c
@ -218,16 +218,38 @@ int main(void)
|
||||
/* USER CODE BEGIN WHILE */
|
||||
while (1)
|
||||
{
|
||||
|
||||
if ((HAL_GPIO_ReadPin(USB_FLAG_GPIO_Port, USB_FLAG_Pin)==GPIO_PIN_SET)&&(u_rx_flg == 0))
|
||||
{
|
||||
//NVIC_DisableIRQ(USART1_IRQn);
|
||||
/* USB только что подключили: выкинуть весь мусор, накопленный в USART,
|
||||
пока RX болтался без драйвера, — ДО включения прерываний */
|
||||
LL_USART_ClearFlag_ORE(USART1);
|
||||
LL_USART_ClearFlag_FE(USART1);
|
||||
LL_USART_ClearFlag_NE(USART1);
|
||||
LL_USART_ClearFlag_PE(USART1);
|
||||
LL_USART_RequestRxDataFlush(USART1); // выкинуть байт из RDR, снять RXNE
|
||||
UART_rec_incr = 0; // сбросить недособранный пакет
|
||||
flg_tmt = 0;
|
||||
|
||||
LL_USART_EnableIT_PE(USART1);
|
||||
LL_USART_EnableIT_RXNE(USART1);
|
||||
LL_USART_EnableIT_ERROR(USART1);
|
||||
NVIC_SetPriority(USART1_IRQn, 0);
|
||||
NVIC_EnableIRQ(USART1_IRQn);//In other case you have FE error flag...
|
||||
NVIC_EnableIRQ(USART1_IRQn);
|
||||
u_rx_flg = 1;
|
||||
}
|
||||
|
||||
|
||||
// if ((HAL_GPIO_ReadPin(USB_FLAG_GPIO_Port, USB_FLAG_Pin)==GPIO_PIN_SET)&&(u_rx_flg == 0))
|
||||
// {
|
||||
// //NVIC_DisableIRQ(USART1_IRQn);
|
||||
// LL_USART_EnableIT_PE(USART1);
|
||||
// LL_USART_EnableIT_RXNE(USART1);
|
||||
// LL_USART_EnableIT_ERROR(USART1);
|
||||
// NVIC_SetPriority(USART1_IRQn, 0);
|
||||
// NVIC_EnableIRQ(USART1_IRQn);//In other case you have FE error flag...
|
||||
// u_rx_flg = 1;
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// //NVIC_DisableIRQ(USART1_IRQn);
|
||||
|
||||
Reference in New Issue
Block a user