Pazitiff25 писал(а):хэндлер это что?
Обработчик прерывания.
Это функция которая для USART может иметь имя USART3_IRQHandler.
Нашел в файле stm32f7xx_it.c функцию void USART3_IRQHandler
Засунул в нее свой код вот так:
void USART3_IRQHandler(void)
{
/* USER CODE BEGIN USART3_IRQn 0 */
uint8_t X; // Описание приемника числа.
/* USER CODE END USART3_IRQn 0 */
HAL_UART_IRQHandler(&huart3);
/* USER CODE BEGIN USART3_IRQn 1 */
HAL_UART_Receive_IT(&huart3, &X, 1); // Вызов прерывания по uаrt.
TIM1->CCR1 = X; // Записываем в счетный регистр принятый по uart X.
/* USER CODE END USART3_IRQn 1 */
}
Глазам не верю, но все работает )) Правильно сделал или что-то накосячил?
Сброс WDG оставил в бесконечном цикле в файле main.c. Тоже все работает, даже если провода выдрать.
Приемник X теперь, я так понимаю, локальный и его ниоткуда не видно.
VladislavS, ну да, вот теперь прерывание нежданчиком вызывается и выгребает из X все что нужно )) Или мой самодельный X это не буфер, и у прерывания свой буфер есть?