你好,原子哥。我想使用中断uart,可是失败了。我的代码为:void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart){ if(huart == &huart2){ RxBuff[RxCount++]=RxByte; printf("get c RxBuff %c:
",RxBuff[RxCount]); printf("get c RxByte %c:
",RxByte); if(RxByte==0x0A)//
{ //HAL_UART_Transmit_IT(&huart2,RxBuff,RxCount); RxCount=0; Rxflag=1; printf("1
"); } else if(RxCount>=254) { RxCount=0; printf("2
"); } HAL_UART_Receive_IT(&huart2,&RxByte,1); printf("huart2 read
"); } if(huart == &huart1){ printf("huart1 raed
"); }}我在串口助手上面发送hello,到开发板,结果打印出:get c RxBuff *:get c RxByte h:huart2 readget c RxBuff *:get c RxByte e:huart2 read在 while函数前已经HAL_UART_Receive_IT(&huart2,&RxByte,1);配置环境为:Keil.STM32F1xx_DFP.2.1.0请问是什么原因呢?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
uint8_t Rxflag = 0,RxByte;
uint8_t RxCount = 0;
请问怎么重新打开?
一周热门 更多>