Problema de programación Stm32, máquina de estado, brinde orientación, principiantes, principalmente no comprenden el valor de la variable después de la declaración de cambio
Si desea saber qué datos necesita saber primero: KeyPortStatus = GPIO_ReadInputData(KEYPORT) & 0x000f esta línea
No conozco su definición, así que la conoceré temporalmente. use el puerto PB para leerlo por usted. Para el puerto KEY, parece que el estado debe ser pull-up y los 4 bits inferiores son claves. Por lo tanto, borrar todos los puertos excepto los 4 bits inferiores (&0x000f) significa conservar el. 4 bits inferiores, que es 1111 en binario.
Luego cambiar(KeyScanState) Esto en realidad es para determinar qué bit específico es 0 en el cuarto bit, lo que indica cuál está presionado.
Luego expresa el valor binario en decimal. Por supuesto, el tuyo ha sido redefinido:
KeyScanState_0, 1, 2. . . Estos, así que primero hay que ver cómo se definen. Cuando no hay clave, debería ser 0x0f. . Y así sucesivamente