【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); 
	  }
  }

效果:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章