使用串口1,将rx和tx对接 。
使用串口3 通过pc 来打印信息 。
main中的函数为:
HAL_UART_Receive_IT(&huart1,(uint8_t *)buffer,length);
u32 i = 0 ;
while (1)
{
i++;
HAL_GPIO_TogglePin(GPIOB,GPIO_PIN_0);
HAL_Delay(10);
HAL_UART_Transmit(&huart1,(u8*)&i,4,HAL_MAX_DELAY);
}
需要定义函数:HAL_UART_RxCpltCallback
u8 buffer[4]={0};
u8 buffer2[1024]={0};
int length = 4;
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
{
u32 *aaa = (u32*)buffer;
int s = sprintf((char*)buffer2,"3: %ld\n",*aaa);
HAL_UART_Transmit(&huart3,buffer2,s,HAL_MAX_DELAY);
HAL_UART_Receive_IT(&huart1,(uint8_t *)buffer,length);
}
HAL_UART_Receive_IT 用来开启中断接收 。
在NVIC中开启中断 。
上面定义了每次接受4个u8就产生中断 。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)