用STM32的捕获功能,捕获红外遥控器,后通过串口打印,打印出现问题。麻烦各位看下。按正常逻辑按一下遥控器发一次红外接收:正常是4个数据; 0B,2,15,OK结果串口打印如下
串口打印:0B,2,15,OK17,2,15,G17,2,15,G17,2,15,G
STM32程序;
void usart1_Send(char str[10],u8 data)
{
u8 buffer[3];
// buffer[0]=RmtCnt+1;
// buffer[1]=Rmtcount;
// buffer[2]=value1;
while(USART_GetFlagStatus(USART1, USART_FLAG_TC)==RESET){}//等待上一次串口数据发送完成
printf("%02X,%d,%d,%s",data,RmtCnt+1,Rmtcount,str);
//printf("遥控器码值:%02X,遥控器次数:%d,键值:%d,次数间时间:%d,按键功能",data,RmtCnt+1,Rmtcount,value1);
}
//main
switch(key)
{
case 0xf4:usart1_Send("OK",0X0B);break;
case 0xef:usart1_Send("NETFLIX",0X10);break;
|