基于stm32无线抢答器制作求助

2019-10-15 04:26发布

最近我想做一个无线抢答器,用stm32控制,发送接收设备采用的是淘宝上买的315Mhz带编码解码的套件。每套对应的编码方式都不一样,可以自己设定,只要发射器和接收器编码方式相同一样就可以接受信号,这就避免了各个抢答器之间的互相干扰。将接收器的输出端接在单片机上,通过IO输入判断是否有高电平输入,有就直接LCD输出,同时关闭IO输入模式。
现在碰到的问题如下:

1.我想请问一下若多个按键同时按下怎么判断到底哪个抢答成功?
2.这种按键需要按下延时大概0.2秒后接收器才有输出,若按下放松太快,则接收器无法接受,请问这种问题怎么解决?


最后,如果有谁做过多路无线抢答器请指教,谢谢!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
longshengma
1楼-- · 2019-10-15 06:43
 精彩回答 2  元偷偷看……
longshengma
2楼-- · 2019-10-15 08:02
目前只是在开发板上调试,调试成功后会自己做板子
longshengma
3楼-- · 2019-10-15 13:33
按键按下需要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显示抢答人编号
longshengma
4楼-- · 2019-10-15 18:59
void Key_down(void)
{
        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,有更好的方法请不吝赐教
密耳
5楼-- · 2019-10-15 23:50
确定不会干扰?我记得一般都是软件编码,解码。。。。。。。IO中断处理呗。至于按那块,没啥办法,物理按键本质决定的吧。。
longshengma
6楼-- · 2019-10-15 23:53
 精彩回答 2  元偷偷看……

一周热门 更多>