stm8l10x_tsl_ct_acquisition.c
来自「STM8s」· C语言 代码 · 共 2,078 行 · 第 1/4 页
C
2,078 行
#define P2_PORT (GPIOD)
#define P2_IO_MASK_1 (0x01) /*PD0*/
#define P2_IO_MASK_2 (0x04) /*PD2*/
#if (SCKEY_P2_CH == CH3)
/*single channel key*/
#if ((SCKEY_P2_A == GROUP1) && (SCKEY_P2_B == GROUP2)) || ((SCKEY_P2_A == GROUP2) && (SCKEY_P2_B == GROUP1))
#define SCKEY_P2_COMP_MASK (0x44)
#define SCKEY_P2_IO_MASK (0x05) /*PD2 and PD0*/
#define SCKEY_P2_STATE_MASK (0x03)
#elif (SCKEY_P2_A == GROUP1) || (SCKEY_P2_B == GROUP1)
#define SCKEY_P2_COMP_MASK (0x04)
#define SCKEY_P2_IO_MASK (0x01) /*PD0*/
#define SCKEY_P2_STATE_MASK (0x01)
#elif (SCKEY_P2_A == GROUP2) || (SCKEY_P2_B == GROUP2)
#define SCKEY_P2_COMP_MASK (0x40) /*PD2*/
#define SCKEY_P2_IO_MASK (0x04)
#define SCKEY_P2_STATE_MASK (0x02)
#else
#define SCKEY_P2_COMP_MASK (0x00)
#define SCKEY_P2_IO_MASK (0x00)
#define SCKEY_P2_STATE_MASK (0x00)
#endif
#else
#define SCKEY_P2_COMP_MASK (0x00)
#define SCKEY_P2_IO_MASK (0x00)
#define SCKEY_P2_STATE_MASK (0x00)
#endif // end of #if (SCKEY_P2_CH == CH3)
/*Multi channel key*/
#if MKEY_CH3_MASK == (GROUP1|GROUP2)
#define MCKEY_P2_COMP_MASK (0x44)
#define MCKEY_P2_IO_MASK (0x05) /*PD2 and PD0*/
#define MCKEY_P2_STATE_MASK (0x03)
#elif MKEY_CH3_MASK == GROUP1
#define MCKEY_P2_COMP_MASK (0x04)
#define MCKEY_P2_IO_MASK (0x01) /*PD0*/
#define MCKEY_P2_STATE_MASK (0x01)
#elif MKEY_CH3_MASK == GROUP2
#define MCKEY_P2_COMP_MASK (0x40) /*PD2*/
#define MCKEY_P2_IO_MASK (0x04)
#define MCKEY_P2_STATE_MASK (0x02)
#else
#define MCKEY_P2_COMP_MASK (0x00)
#define MCKEY_P2_IO_MASK (0x00)
#define MCKEY_P2_STATE_MASK (0x00)
#endif
#if ACTIVE_SHIELD_GROUP == GROUP1
#define ASHLD_P2_COMP_MASK (0x04)
#define ASHLD_P2_IO_MASK (0x01) /*PD0*/
#define ASHLD_P2_STATE_MASK (0x01)
#elif ACTIVE_SHIELD_GROUP == GROUP2
#define ASHLD_P2_COMP_MASK (0x40)
#define ASHLD_P2_IO_MASK (0x04) /*PD2*/
#define ASHLD_P2_STATE_MASK (0x02)
#else
#define ASHLD_P2_COMP_MASK (0x00)
#define ASHLD_P2_IO_MASK (0x00)
#define ASHLD_P2_STATE_MASK (0x00)
#endif
#define P2_COMP_MASK (SCKEY_P2_COMP_MASK | MCKEY_P2_COMP_MASK | ASHLD_P2_COMP_MASK)
#define P2_IO_MASK (SCKEY_P2_IO_MASK | MCKEY_P2_IO_MASK | ASHLD_P2_IO_MASK)
#define P2_STATE_MASK (SCKEY_P2_STATE_MASK | MCKEY_P2_STATE_MASK | ASHLD_P2_STATE_MASK)
#elif ((SCKEY_P2_CH == CH4) || MKEY_CH4_MASK)
#define P2_PORT (GPIOD)
#define P2_IO_MASK_1 (0x02) /*PD1*/
#define P2_IO_MASK_2 (0x08) /*PD3*/
#if (SCKEY_P2_CH == CH4)
/*Single channel key*/
#if ((SCKEY_P2_A == GROUP1) && (SCKEY_P2_B == GROUP2)) || ((SCKEY_P2_A == GROUP2) && (SCKEY_P2_B == GROUP1))
#define SCKEY_P2_COMP_MASK (0x88)
#define SCKEY_P2_IO_MASK (0x0A) /*PD3 and PD1*/
#define SCKEY_P2_STATE_MASK (0x03)
#elif (SCKEY_P2_A == GROUP1) || (SCKEY_P2_B == GROUP1)
#define SCKEY_P2_COMP_MASK (0x08)
#define SCKEY_P2_IO_MASK (0x02) /*PD1*/
#define SCKEY_P2_STATE_MASK (0x01)
#elif (SCKEY_P2_A == GROUP2) || (SCKEY_P2_B == GROUP2)
#define SCKEY_P2_COMP_MASK (0x80) /*PD3*/
#define SCKEY_P2_IO_MASK (0x08)
#define SCKEY_P2_STATE_MASK (0x02)
#else
#define SCKEY_P2_COMP_MASK (0x00)
#define SCKEY_P2_IO_MASK (0x00)
#define SCKEY_P2_STATE_MASK (0x00)
#endif
#else
#define SCKEY_P2_COMP_MASK (0x00)
#define SCKEY_P2_IO_MASK (0x00)
#define SCKEY_P2_STATE_MASK (0x00)
#endif // end of #if (SCKEY_P2_CH == CH4)
/*Multi channel key*/
#if MKEY_CH4_MASK == (GROUP1|GROUP2)
#define MCKEY_P2_COMP_MASK (0x88)
#define MCKEY_P2_IO_MASK (0x0A) /*PD3 and PD1*/
#define MCKEY_P2_STATE_MASK (0x03)
#elif MKEY_CH4_MASK == GROUP1
#define MCKEY_P2_COMP_MASK (0x08)
#define MCKEY_P2_IO_MASK (0x02) /*PD1*/
#define MCKEY_P2_STATE_MASK (0x01)
#elif MKEY_CH4_MASK == GROUP2
#define MCKEY_P2_COMP_MASK (0x80) /*PD3*/
#define MCKEY_P2_IO_MASK (0x08)
#define MCKEY_P2_STATE_MASK (0x02)
#else
#define MCKEY_P2_COMP_MASK (0x00)
#define MCKEY_P2_IO_MASK (0x00)
#define MCKEY_P2_STATE_MASK (0x00)
#endif
#if ACTIVE_SHIELD_GROUP == GROUP1
#define ASHLD_P2_COMP_MASK (0x08)
#define ASHLD_P2_IO_MASK (0x02) /*PD1*/
#define ASHLD_P2_STATE_MASK (0x01)
#elif ACTIVE_SHIELD_GROUP == GROUP2
#define ASHLD_P2_COMP_MASK (0x80)
#define ASHLD_P2_IO_MASK (0x08) /*PD3*/
#define ASHLD_P2_STATE_MASK (0x02)
#else
#define ASHLD_P2_COMP_MASK (0x00)
#define ASHLD_P2_IO_MASK (0x00)
#define ASHLD_P2_STATE_MASK (0x00)
#endif
#define P2_COMP_MASK (SCKEY_P2_COMP_MASK | MCKEY_P2_COMP_MASK | ASHLD_P2_COMP_MASK)
#define P2_IO_MASK (SCKEY_P2_IO_MASK | MCKEY_P2_IO_MASK | ASHLD_P2_IO_MASK)
#define P2_STATE_MASK (SCKEY_P2_STATE_MASK | MCKEY_P2_STATE_MASK | ASHLD_P2_STATE_MASK)
#else
#error "Wrong Channel selection for SCKEY_P2"
#endif
#endif
#if (NUMBER_OF_ACQUISITION_PORTS > 2)
/*define the PORT1 comparator channel mask*/
#if ((SCKEY_P3_CH == CH1) || MKEY_CH1_MASK)
#define P3_PORT (GPIOB)
#define P3_IO_MASK_1 (0x01) /*PB0*/
#define P3_IO_MASK_2 (0x04) /*PB2*/
#if (SCKEY_P3_CH == CH1)
#if ((SCKEY_P3_A == GROUP1) && (SCKEY_P3_B == GROUP2)) || ((SCKEY_P3_A == GROUP2) && (SCKEY_P3_B == GROUP1))
#define SCKEY_P3_COMP_MASK (0x11)
#define SCKEY_P3_IO_MASK (0x05) /*PB2 and PB0*/
#define SCKEY_P3_STATE_MASK (0x03)
#elif (SCKEY_P3_A == GROUP1) || (SCKEY_P3_B == GROUP1)
#define SCKEY_P3_COMP_MASK (0x01)
#define SCKEY_P3_IO_MASK (0x01) /*PB0*/
#define SCKEY_P3_STATE_MASK (0x01)
#elif (SCKEY_P3_A == GROUP2) || (SCKEY_P3_B == GROUP2)
#define SCKEY_P3_COMP_MASK (0x10)
#define SCKEY_P3_IO_MASK (0x04) /*PB2*/
#define SCKEY_P3_STATE_MASK (0x02)
#else
#define SCKEY_P3_COMP_MASK (0x00)
#define SCKEY_P3_IO_MASK (0x00)
#define SCKEY_P3_STATE_MASK (0x00)
#endif
#else
#define SCKEY_P3_COMP_MASK (0x00)
#define SCKEY_P3_IO_MASK (0x00)
#define SCKEY_P3_STATE_MASK (0x00)
#endif // end of #if (SCKEY_P3_CH == CH1)
/*Multi channel key*/
#if MKEY_CH1_MASK == (GROUP1|GROUP2)
#define MCKEY_P3_COMP_MASK (0x11)
#define MCKEY_P3_IO_MASK (0x05) /*PB2 and PB0*/
#define MCKEY_P3_STATE_MASK (0x03)
#elif MKEY_CH1_MASK == GROUP1
#define MCKEY_P3_COMP_MASK (0x01)
#define MCKEY_P3_IO_MASK (0x01) /*PB0*/
#define MCKEY_P3_STATE_MASK (0x01)
#elif MKEY_CH1_MASK == GROUP2
#define MCKEY_P3_COMP_MASK (0x10) /*PB2*/
#define MCKEY_P3_IO_MASK (0x04)
#define MCKEY_P3_STATE_MASK (0x02)
#else
#define MCKEY_P3_COMP_MASK (0x00)
#define MCKEY_P3_IO_MASK (0x00)
#define MCKEY_P3_STATE_MASK (0x00)
#endif
#if ACTIVE_SHIELD_GROUP == GROUP1
#define ASHLD_P3_COMP_MASK (0x01)
#define ASHLD_P3_IO_MASK (0x01) /*PB0*/
#define ASHLD_P3_STATE_MASK (0x01)
#elif ACTIVE_SHIELD_GROUP == GROUP2
#define ASHLD_P3_COMP_MASK (0x10)
#define ASHLD_P3_IO_MASK (0x04) /*PB2*/
#define ASHLD_P3_STATE_MASK (0x02)
#else
#define ASHLD_P3_COMP_MASK (0x00)
#define ASHLD_P3_IO_MASK (0x00)
#define ASHLD_P3_STATE_MASK (0x00)
#endif
#define P3_COMP_MASK (SCKEY_P3_COMP_MASK | MCKEY_P3_COMP_MASK | ASHLD_P3_COMP_MASK)
#define P3_IO_MASK (SCKEY_P3_IO_MASK | MCKEY_P3_IO_MASK | ASHLD_P3_IO_MASK)
#define P3_STATE_MASK (SCKEY_P3_STATE_MASK | MCKEY_P3_STATE_MASK | ASHLD_P3_STATE_MASK)
#elif ((SCKEY_P3_CH == CH2) || MKEY_CH2_MASK)
#define P3_PORT (GPIOB)
#define P3_IO_MASK_1 (0x02) /*PB1*/
#define P3_IO_MASK_2 (0x08) /*PB3*/
#if (SCKEY_P3_CH == CH2)
#if ((SCKEY_P3_A == GROUP1) && (SCKEY_P3_B == GROUP2)) || ((SCKEY_P3_A == GROUP2) && (SCKEY_P3_B == GROUP1))
#define SCKEY_P3_COMP_MASK (0x22)
#define SCKEY_P3_IO_MASK (0x0A) /*PB3 and PB1*/
#define SCKEY_P3_STATE_MASK (0x03)
#elif (SCKEY_P3_A == GROUP1) || (SCKEY_P3_B == GROUP1)
#define SCKEY_P3_COMP_MASK (0x02)
#define SCKEY_P3_IO_MASK (0x02) /*PB1*/
#define SCKEY_P3_STATE_MASK (0x01)
#elif (SCKEY_P3_A == GROUP2) || (SCKEY_P3_B == GROUP2)
#define SCKEY_P3_COMP_MASK (0x20)
#define SCKEY_P3_IO_MASK (0x08) /*PB3*/
#define SCKEY_P3_STATE_MASK (0x02)
#else
#define SCKEY_P3_COMP_MASK (0x00)
#define SCKEY_P3_IO_MASK (0x00)
#define SCKEY_P3_STATE_MASK (0x00)
#endif
#else
#define SCKEY_P3_COMP_MASK (0x00)
#define SCKEY_P3_IO_MASK (0x00)
#define SCKEY_P3_STATE_MASK (0x00)
#endif // end of #if (SCKEY_P3_CH == CH2)
/*Multi channel key*/
#if MKEY_CH2_MASK == (GROUP1|GROUP2)
#define MCKEY_P3_COMP_MASK (0x22)
#define MCKEY_P3_IO_MASK (0x0A) /*PB1 and PB3*/
#define MCKEY_P3_STATE_MASK (0x03)
#elif MKEY_CH2_MASK == GROUP1
#define MCKEY_P3_COMP_MASK (0x02)
#define MCKEY_P3_IO_MASK (0x02) /*PB1*/
#define MCKEY_P3_STATE_MASK (0x01)
#elif MKEY_CH2_MASK == GROUP2
#define MCKEY_P3_COMP_MASK (0x20) /*PB3*/
#define MCKEY_P3_IO_MASK (0x08)
#define MCKEY_P3_STATE_MASK (0x02)
#else
#define MCKEY_P3_COMP_MASK (0x00)
#define MCKEY_P3_IO_MASK (0x00)
#define MCKEY_P3_STATE_MASK (0x00)
#endif
#if ACTIVE_SHIELD_GROUP == GROUP1
#define ASHLD_P3_COMP_MASK (0x02)
#define ASHLD_P3_IO_MASK (0x02) /*PB1*/
#define ASHLD_P3_STATE_MASK (0x01)
#elif ACTIVE_SHIELD_GROUP == GROUP2
#define ASHLD_P3_COMP_MASK (0x20)
#define ASHLD_P3_IO_MASK (0x08) /*PB3*/
#define ASHLD_P3_STATE_MASK (0x02)
#else
#define ASHLD_P3_COMP_MASK (0x00)
#define ASHLD_P3_IO_MASK (0x00)
#define ASHLD_P3_STATE_MASK (0x00)
#endif
#define P3_COMP_MASK (SCKEY_P3_COMP_MASK | MCKEY_P3_COMP_MASK | ASHLD_P3_COMP_MASK)
#define P3_IO_MASK (SCKEY_P3_IO_MASK | MCKEY_P3_IO_MASK | ASHLD_P3_IO_MASK)
#define P3_STATE_MASK (SCKEY_P3_STATE_MASK | MCKEY_P3_STATE_MASK | ASHLD_P3_STATE_MASK)
#elif ((SCKEY_P3_CH == CH3) || MKEY_CH3_MASK)
#define P3_PORT (GPIOD)
#define P3_IO_MASK_1 (0x01) /*PD0*/
#define P3_IO_MASK_2 (0x04) /*PD2*/
#if (SCKEY_P3_CH == CH3)
/*single channel key*/
#if ((SCKEY_P3_A == GROUP1) && (SCKEY_P3_B == GROUP2)) || ((SCKEY_P3_A == GROUP2) && (SCKEY_P3_B == GROUP1))
#define SCKEY_P3_COMP_MASK (0x44)
#define SCKEY_P3_IO_MASK (0x05) /*PD2 and PD0*/
#define SCKEY_P3_STATE_MASK (0x03)
#elif (SCKEY_P3_A == GROUP1) || (SCKEY_P3_B == GROUP1)
#define SCKEY_P3_COMP_MASK (0x04)
#define SCKEY_P3_IO_MASK (0x01) /*PD0*/
#define SCKEY_P3_STATE_MASK (0x01)
#elif (SCKEY_P3_A == GROUP2) || (SCKEY_P3_B == GROUP2)
#define SCKEY_P3_COMP_MASK (0x40) /*PD2*/
#define SCKEY_P3_IO_MASK (0x04)
#define SCKEY_P3_STATE_MASK (0x02)
#else
#define SCKEY_P3_COMP_MASK (0x00)
#define SCKEY_P3_IO_MASK (0x00)
#define SCKEY_P3_STATE_MASK (0x00)
#endif
#else
#define SCKEY_P3_COMP_MASK (0x00)
#define SCKEY_P3_IO_MASK (0x00)
#define SCKEY_P3_STATE_MASK (0x00)
#endif // end of #if (SCKEY_P3_CH == CH3)
/*Multi channel key*/
#if MKEY_CH3_MASK == (GROUP1|GROUP2)
#define MCKEY_P3_COMP_MASK (0x44)
#define MCKEY_P3_IO_MASK (0x05) /*PD2 and PD0*/
#define MCKEY_P3_STATE_MASK (0x03)
#elif MKEY_CH3_MASK == GROUP1
#define MCKEY_P3_COMP_MASK (0x04)
#define MCKEY_P3_IO_MASK (0x01) /*PD0*/
#define MCKEY_P3_STATE_MASK (0x01)
#elif MKEY_CH3_MASK == GROUP2
#define MCKEY_P3_COMP_MASK (0x40) /*PD2*/
#define MCKEY_P3_IO_MASK (0x04)
#define MCKEY_P3_STATE_MASK (0x02)
#else
#define MCKEY_P3_COMP_MASK (0x00)
#define MCKEY_P3_IO_MASK (0x00)
#define MCKEY_P3_STATE_MASK (0x00)
#endif
#if ACTIVE_SHIELD_GROUP == GROUP1
#define ASHLD_P3_COMP_MASK (0x04)
#define ASHLD_P3_IO_MASK (0x01) /*PD0*/
#define ASHLD_P3_STATE_MASK (0x01)
#elif ACTIVE_SHIELD_GROUP == GROUP2
#define ASHLD_P3_COMP_MASK (0x40)
#define ASHLD_P3_IO_MASK (0x04) /*PD2*/
#define ASHLD_P3_STATE_MASK (0x02)
#else
#define ASHLD_P3_COMP_MASK (0x00)
#define ASHLD_P3_IO_MASK (0x00)
#define ASHLD_P3_STATE_MASK (0x00)
#endif
#define P3_COMP_MASK (SCKEY_P3_COMP_MASK | MCKEY_P3_COMP_MASK | ASHLD_P3_COMP_MASK)
#define P3_IO_MASK (SCKEY_P3_IO_MASK | MCKEY_P3_IO_MASK | ASHLD_P3_IO_MASK)
#define P3_STATE_MASK (SCKEY_P3_STATE_MASK | MCKEY_P3_STATE_MASK | ASHLD_P3_STATE_MASK)
#elif ((SCKEY_P3_CH == CH4) || MKEY_CH4_MASK)
#define P3_PORT (GPIOD)
#define P3_IO_MASK_1 (0x02) /*PD1*/
#define P3_IO_MASK_2 (0x08) /*PD3*/
#if (SCKEY_P3_CH == CH4)
/*Single channel key*/
#if ((SCKEY_P3_A == GROUP1) && (SCKEY_P3_B == GROUP2)) || ((SCKEY_P3_A == GROUP2) && (SCKEY_P3_B == GROUP1))
#define SCKEY_P3_COMP_MASK (0x88)
#define SCKEY_P3_IO_MASK (0x0A) /*PD3 and PD1*/
#define SCKEY_P3_STATE_MASK (0x03)
#elif (SCKEY_P3_A == GROUP1) || (SCKEY_P3_B == GROUP1)
#define SCKEY_P3_COMP_MASK (0x08)
#define SCKEY_P3_IO_MASK (0x02) /*PD1*/
#define SCKEY_P3_STATE_MASK (0x01)
#elif (SCKEY_P3_A == GROUP2) || (SCKEY_P3_B == GROUP2)
#define SCKEY_P3_COMP_MASK (0x80) /*PD3*/
#define SCKEY_P3_IO_MASK (0x08)
#define SCKEY_P3_STATE_MASK (0x02)
#else
#define SCKEY_P3_COMP_MASK (0x00)
#define SCKEY_P3_IO_MASK (0x00)
#define SCKEY_P3_STATE_MASK (0x00)
#endif
#else
#define SCKEY_P3_COMP_MASK (0x00)
#define SCKEY_P3_IO_MASK (0x00)
#define SCKEY_P3_STATE_MASK (0x00)
#endif // end of #if (SCKEY_P3_CH == CH4)
/*Multi channel key*/
#if MKEY_CH4_MASK == (GROUP1|GROUP2)
#define MCKEY_P3_COMP_MASK (0x88)
#define MCKEY_P3_IO_MASK (0x0A) /*PD3 and PD1*/
#define MCKEY_P3_STATE_MASK (0x03)
#elif MKEY_CH4_MASK == GROUP1
#define MCKEY_P3_COMP_MASK (0x08)
#define MCKEY_P3_IO_MASK (0x02) /*PD1*/
#define MCKEY_P3_STATE_MASK (0x01)
#elif MKEY_CH4_MASK == GROUP2
#define MCKEY_P3_COMP_MASK (0x80) /*PD3*/
#define MCKEY_P3_IO_MASK (0x08)
#define MCKEY_P3_STATE_MASK (0x02)
#else
#define MCKEY_P3_COMP_MASK (0x00)
#define MCKEY_P3_IO_MASK (0x00)
#define MCKEY_P3_STATE_MASK (0x00)
#endif
#if ACTIVE_SHIELD_GROUP == GROUP1
#define ASHLD_P3_COMP_MASK (0x08)
#define ASHLD_P3_IO_MASK (0x02) /*PD1*/
#define ASHLD_P3_STATE_MASK (0x01)
#elif ACTIVE_SHIELD_GROUP == GROUP2
#define ASHLD_P3_COMP_MASK (0x80)
#define ASHLD_P3_IO_MASK (0x08) /*PD3*/
#define ASHLD_P3_STATE_MASK (0x02)
#else
#define ASHLD_P3_COMP_MASK (0x00)
#define ASHLD_P3_IO_MASK (0x00)
#define ASHLD_P3_STATE_MASK (0x00)
#endif
#define P3_COMP_MASK (SCKEY_P3_COMP_MASK | MCKEY_P3_COMP_MASK | ASHLD_P3_COMP_MASK)
#define P3_IO_MASK (SCKEY_P3_IO_MASK | MCKEY_P3_IO_MASK | ASHLD_P3_IO_MASK)
#define P3_STATE_MASK (SCKEY_P3_STATE_MASK | MCKEY_P3_STATE_MASK | ASHLD_P3_STATE_MASK)
#else
#error "Wrong Channel selection for SCKEY_P3"
#endif
#endif
//-------- LOCAL VARIABLES --------------
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//----- LIBRARY PRIVATE GLOBALS -----
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
TOUCH_PORT_Info_T TINY sTouchIO;
u16 TINY CounterStop;
u8 TINY SamplingShifter;
u8 TINY AcquisitionBitMask;
Info_Channel Channel_P1;
#if (NUMBER_OF_ACQUISITION_PORTS > 1)
Info_Channel Channel_P2;
#endif
#if (NUMBER_OF_ACQUISITION_PORTS > 2)
Info_Channel Channel_P3;
#endif
/* This table is always defined */
#if NUMBER_OF_SINGLE_CHANNEL_PORTS > 0
__CONST u8 Table_SCKEY_P1[SCKEY_P1_KEY_COUNT] =
{
#if (SCKEY_P1_A == GROUP1)
0x00
#elif (SCKEY_P1_A == GROUP2)
0x01
#elif (SCKEY_P1_A == GROUP3)
0x02
#elif (SCKEY_P1_A == GROUP4)
0x03
#elif (SCKEY_P1_A == GROUP5)
0x04
#elif (SCKEY_P1_A == GROUP6)
0x05
#elif (SCKEY_P1_A == GROUP7)
0x06
#elif (SCKEY_P1_A == GROUP8)
0x07
#endif
#if SCKEY_P1_KEY_COUNT > 1
#if (SCKEY_P1_B == GROUP1)
, 0x00
#elif (SCKEY_P1_B == GROUP2)
, 0x01
#elif (SCKEY_P1_B == GROUP3)
, 0x02
#elif (SCKEY_P1_B == GROUP4)
, 0x03
#elif (SCKEY_P1_B == GROUP5)
, 0x04
#elif (SCKEY_P1_B == GROUP6)
, 0x05
#elif (SCKEY_P1_B == GROUP7)
, 0x06
#elif (SCKEY_P1_B == GROUP8)
, 0x07
#endif
#endif
#if SCKEY_P1_KEY_COUNT > 2
#if (SCKEY_P1_C == GROUP1)
, 0x00
#elif (SCKEY_P1_C == GROUP2)
, 0x01
#elif (SCKEY_P1_C == GROUP3)
, 0x02
#elif (SCKEY_P1_C == GROUP4)
, 0x03
#elif (SCKEY_P1_C == GROUP5)
, 0x04
#elif (SCKEY_P1_C == GROUP6)
, 0x05
#elif (SCKEY_P1_C == GROUP7)
, 0x06
#elif (SCKEY_P1_C == GROUP8)
, 0x07
#endif
#endif
#if SCKEY_P1_KEY_COUNT > 3
#if (SCKEY_P1_D == GROUP1)
, 0x00
#elif (SCKEY_P1_D == GROUP2)
, 0x01
#elif (SCKEY_P1_D == GROUP3)
, 0x02
#elif (SCKEY_P1_D == GROUP4)
, 0x03
#elif (SCKEY_P1_D == GROUP5)
, 0x04
#elif (SCKEY_P1_D == GROUP6)
, 0x05
#elif (SCKEY_P1_D == GROUP7)
, 0x06
#elif (SCKEY_P1_D == GROUP8)
, 0x07
#endif
#endif
#if SCKEY_P1_KEY_COUNT > 4
#if (SCKEY_P1_E == GROUP1)
, 0x00
#elif (SCKEY_P1_E == GROUP2)
, 0x01
#elif (SCKEY_P1_E == GROUP3)
, 0x02
#elif (SCKEY_P1_E == GROUP4)
, 0x03
#elif (SCKEY_P1_E == GROUP5)
, 0x04
#elif (SCKEY_P1_E == GROUP6)
, 0x05
#elif (SCKEY_P1_E == GROUP7)
, 0x06
#elif (SCKEY_P1_E == GROUP8)
, 0x07
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?