可以参考以下我的贴的代码
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
{
if(huart == &huart2)
{
Rxbuff_UART2 = aaRxBuffer_UART2;
if((Rxbuff_UART2 == 0xFF)&&(Rxbuff_UART2 == 0xFC))
{
Rx_Num_UART2 = ++Rx_count_UART2;
Rx_count_UART2 = 0;
}
else Rx_count_UART2++;
HAL_UART_Receive_IT(&huart2,(uint8_t*)aaRxBuffer_UART2,1);
}
}
奏奏奏 发表于 2017-3-17 14:01
楼主这么写没有毛病
我做的项目里面区分串口也是这么写的
if(huart == &huart4)
是的,这么写确实没毛病您给提供的思路我看了下,应该也是可行的就是把接收中断 的字符个数设置成1 每次进中断后需要重新再开启中断,相对来说比较麻烦一些 我换成了DMA 接收模式,设置成连续模式拉,应该能方便点,而且一般数据处理我不放在中断回调函数里面,这样对中断时效性有影响我在MAIN 里面处理的。非常感谢您能够给我提供思路。希望以后能多交流。
页:
1
[2]