最近我想做一个无线抢答器,用stm32控制,发送接收设备采用的是淘宝上买的315Mhz带编码解码的套件。每套对应的编码方式都不一样,可以自己设定,只要发射器和接收器编码方式相同一样就可以接受信号,这就避免了各个抢答器之间的互相干扰。将接收器的输出端接在单片机上,通过IO输入判断是否有高电平输入,有就直接LCD输出,同时关闭IO输入模式。
现在碰到的问题如下:
1.我想请问一下若多个按键同时按下怎么判断到底哪个抢答成功?
2.这种按键需要按下延时大概0.2秒后接收器才有输出,若按下放松太快,则接收器无法接受,请问这种问题怎么解决?
最后,如果有谁做过多路无线抢答器请指教,谢谢!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
if( KEY1==1)//编号为1抢答
{
LED1=!LED1;
num=1;
Key_down();
}
if(KEY2==1)//编号为2抢答
{
LED0=!LED0;
num=2;
Key_down();
}
LCD_ShowxNum(156,130,num,4,16,0);//lcd显示抢答人编号
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOE,ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(GPIOE, &GPIO_InitStructure);
}//这是我想的很笨的办法关io,有更好的方法请不吝赐教
一周热门 更多>