改后如下
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
{
if(htim==&htim14)
{
GYRO_Handle.cmd_GYRO=GYRO_CMD;
HAL_UART_Receive_IT(&huart3, GYRO_Handle.frame_GYRO, 7);
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_2, GPIO_PIN_SET);
HAL_UART_Transmit_IT(&huart3, &GYRO_Handle.cmd_GYRO, 1);
}
void HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart)
{
if(huart==&huart3)
{
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_2, GPIO_PIN_RESET);
}
}
还是进入错误中断,无法进入接收完成中断
改后如下
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
{
if(htim==&htim14)
{
GYRO_Handle.cmd_GYRO=GYRO_CMD;
HAL_UART_Receive_IT(&huart3, GYRO_Handle.frame_GYRO, 7);
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_2, GPIO_PIN_SET);
HAL_UART_Transmit_IT(&huart3, &GYRO_Handle.cmd_GYRO, 1);
}
void HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart)
{
if(huart==&huart3)
{
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_2, GPIO_PIN_RESET);
}
}
还是进入错误中断,无法进入接收完成中断
举报