欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【STM32学习】(23)STM32实现TELESKY 2262/2272四路无线遥控

程序员文章站 2024-02-22 22:57:28
...

实物图如下:

 

【STM32学习】(23)STM32实现TELESKY 2262/2272四路无线遥控

 

此编程很简答。

 

编码已经都配置好了,单片机只需要读取模块的引脚是否为高电平就可以了。

【STM32学习】(23)STM32实现TELESKY 2262/2272四路无线遥控

【STM32学习】(23)STM32实现TELESKY 2262/2272四路无线遥控

【STM32学习】(23)STM32实现TELESKY 2262/2272四路无线遥控
简单验证代码如下:串口1查看效果,这里只给出while(1)里面的代码

while (1)
  {
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
	  if(HAL_GPIO_ReadPin(D0_GPIO_Port,D0_Pin) == 1)
	  {
		  HAL_Delay(20);
		  if(HAL_GPIO_ReadPin(D0_GPIO_Port,D0_Pin) == 1)
		  {
			  printf("\n\r**按键安了B键**\n\r");
		  }
		  while(HAL_GPIO_ReadPin(D0_GPIO_Port,D0_Pin) == 1); 
	  }
	  if(HAL_GPIO_ReadPin(D1_GPIO_Port,D1_Pin) == 1)
	  {
		  HAL_Delay(20);
		  if(HAL_GPIO_ReadPin(D1_GPIO_Port,D1_Pin) == 1)
		  {
			  printf("\n\r**按键安了D键**\n\r");
		  }
		  while(HAL_GPIO_ReadPin(D1_GPIO_Port,D1_Pin) == 1); 
	  }
	  if(HAL_GPIO_ReadPin(D2_GPIO_Port,D2_Pin) == 1)
	  {
		  HAL_Delay(20);
		  if(HAL_GPIO_ReadPin(D2_GPIO_Port,D2_Pin) == 1)
		  {
			  printf("\n\r**按键安了A键**\n\r");
		  }
		  while(HAL_GPIO_ReadPin(D2_GPIO_Port,D2_Pin) == 1); 
	  }
	  if(HAL_GPIO_ReadPin(D3_GPIO_Port,D3_Pin) == 1)
	  {
		  HAL_Delay(20);
		  if(HAL_GPIO_ReadPin(D3_GPIO_Port,D3_Pin) == 1)
		  {
			  printf("\n\r**按键安了C键**\n\r");
		  }
		  while(HAL_GPIO_ReadPin(D3_GPIO_Port,D3_Pin) == 1); 
	  }
	  
	  if(HAL_GPIO_ReadPin(VT_GPIO_Port,VT_Pin) == 1)
	  {
		  HAL_Delay(20);
		  if(HAL_GPIO_ReadPin(VT_GPIO_Port,VT_Pin) == 1)
		  {
			  printf("\n\r**按键安了ABCD键**\n\r");
		  }
		  while(HAL_GPIO_ReadPin(VT_GPIO_Port,VT_Pin) == 1); 
	  }
  }

效果:

【STM32学习】(23)STM32实现TELESKY 2262/2272四路无线遥控