Browse Source

添加按键

external_Interrupt
tianjialong 2 years ago
parent
commit
9f19530c4d
  1. 2
      MDK-ARM/LWIP.uvguix.29643
  2. 23
      usersrc/usermain.c

2
MDK-ARM/LWIP.uvguix.29643

@ -3743,7 +3743,7 @@
<Name>..\usersrc\udpclient.c</Name>
<ColumnNumber>5</ColumnNumber>
<TopLine>68</TopLine>
<CurrentLine>97</CurrentLine>
<CurrentLine>100</CurrentLine>
<Folding>1</Folding>
<ContractedFolders></ContractedFolders>
<PaneID>0</PaneID>

23
usersrc/usermain.c

@ -17,17 +17,18 @@
#include "atcmd.h"
#define KEY_SCAN_PERIOD 20
#define CHEAR_ENCODER_1_KEY_NAME "Clear_Encoder_1_Key"
#define CHEAR_ENCODER_2_KEY_NAME "Clear_Encoder_2_Key"
static uint16_t s_key_long_press_time_ms = 3000;
static inline bool clear_key_get_status() { return HAL_GPIO_ReadPin(GPIOE, GPIO_PIN_4); }
static inline bool clear_encoder_1_key_get_status() { return HAL_GPIO_ReadPin(GPIOE, GPIO_PIN_4); }
static inline bool clear_encoder_2_key_get_status() { return HAL_GPIO_ReadPin(GPIOE, GPIO_PIN_3); }
static void onkey(zkey_t *key, zkey_state_t key_state);
static zkey_t s_keys[] = {
ZKEY_INIT("Clear_Key", clear_key_get_status), //
// ZKEY_INIT("Signal_INT1", port_get_gpio_int1), //
// ZKEY_INIT("Signal_INT2", port_get_gpio_int2), //
// ZKEY_INIT("Signal_INT3", port_get_gpio_int3), //
ZKEY_INIT(CHEAR_ENCODER_1_KEY_NAME, clear_encoder_1_key_get_status), //
ZKEY_INIT(CHEAR_ENCODER_2_KEY_NAME, clear_encoder_2_key_get_status), //
};
static zkey_module_t s_key_module = ZMODULE_INIT(s_keys, onkey);
@ -46,8 +47,16 @@ static void onkey(zkey_t *key, zkey_state_t key_state)
{
if (key_state == zks_rising_edge)
{
encoder_all_clear_counter();
printf("clear encoder count\r\n");
if (strcmp(key->name, CHEAR_ENCODER_1_KEY_NAME) == 0)
{
encoder_clear_counter(CAMERA_ENCODER);
printf("clear encoder 1 count\r\n");
}
else if (strcmp(key->name, CHEAR_ENCODER_2_KEY_NAME) == 0)
{
encoder_clear_counter(DRIVEN_ENCODER_GEAR);
printf("clear encoder 2 count\r\n");
}
}
if (key_state == zks_keep)

Loading…
Cancel
Save