关于HAL库uart中断的使用

2019-08-14 19:35发布

你好,原子哥。我想使用中断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请问是什么原因呢?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
hnwangkg@163.co
1楼-- · 2019-08-14 22:43
这是我的全局变量uint8_t RxBuff[255];
uint8_t Rxflag = 0,RxByte;
uint8_t RxCount = 0;
hnwangkg@163.co
2楼-- · 2019-08-15 02:42
wmh19910511
3楼-- · 2019-08-15 05:01
需要重新打开中断
hnwangkg@163.co
4楼-- · 2019-08-15 10:28
wmh19910511 发表于 2017-8-1 18:27
需要重新打开中断

请问怎么重新打开?
wmh19910511
5楼-- · 2019-08-15 12:09
 精彩回答 2  元偷偷看……

一周热门 更多>