【发布时间】:2019-02-14 18:03:27
【问题描述】:
我是 STM32 的新手,但是我想创建一个简单的项目,允许我使用 2 个按钮通过 USB 发送数据 - 按下按钮时只有一次。目前,如果我按住按钮,它将继续发送数据。想要“打破”if,但没有帮助。
while (1){
if (HAL_GPIO_ReadPin(Button_GPIO_Port,Button_Pin)== GPIO_PIN_RESET){
HAL_Delay(150);
if (HAL_GPIO_ReadPin(Button_GPIO_Port,Button_Pin) == GPIO_PIN_RESET){
++MessageCounter1;
MessageLength1 = sprintf(DataToSend, "Wiadomosc BUTTON 1 nr %d\n\r", MessageCounter1);
CDC_Transmit_HS(DataToSend, MessageLength1);
}
}
if (HAL_GPIO_ReadPin(Button2_GPIO_Port,Button2_Pin)== GPIO_PIN_RESET){
HAL_Delay(150);
if (HAL_GPIO_ReadPin(Button2_GPIO_Port,Button2_Pin) == GPIO_PIN_RESET{
++MessageCounter2;
MessageLength2 = sprintf(DataToSend, "Wiadomosc BUTTON 2 nr %d\n\r", MessageCounter2);
CDC_Transmit_HS(DataToSend, MessageLength2);
}
}
【问题讨论】: