Comprensión preliminar de GPIO de STM32

STM32, como el microordenador convencional de un solo chip actual, se puede ver en muchos lugares (no voy a dar más detalles aquí, no lo haga como si fuera un vendedor ~~). La mayoría de los pines en M3 son pines GPIO (excepto alimentación, cristal, arranque, descarga, reinicio). Entonces GPIO todavía necesita estar familiarizado, después de todo, también es lo más básico.
GPIO es la abreviatura de puerto de entrada y salida de propósito general. En resumen, M3 puede controlar este pin como entrada o salida. El pin GPIO de M3 está conectado con equipos externos, que pueden realizar las funciones de comunicación, control y recopilación de datos con equipos externos.
Inserte la descripción de la imagen aquí
La imagen de arriba es el diagrama del principio del pin GPIO en M3. El IO más a la derecha es el pin del chip, podemos usarlo. El marco punteado a la izquierda es realista dentro del chip. La función principal del diodo de protección correcto es evitar que el chip se queme debido al voltaje de entrada externo excesivamente alto o bajo. De la figura se puede ver que GPIO se puede dividir en entrada y salida:

  • Función de entrada
  • Entrada analógica (la entrada es una señal analógica para el ADC), esta entrada debe usarse antes del interruptor Schmidt. Después del disparador Schmitt, se convierte en una señal digital.
  • Entrada pull-up y pull-down La función principal de la entrada pull-up y pull-down es determinar el nivel predeterminado del pin. Cuando se usa la entrada desplegable, el valor predeterminado es de nivel alto; cuando la entrada desplegable es el nivel bajo predeterminado. La entrada pull-up se usa en el bus IIC
  • Entrada oscilante, el estado del pin está completamente determinado externamente cuando la entrada está flotando. Usado en lugares como botones.
  • Entrada multiplexada La función de entrada multiplexada utiliza principalmente este pin IO para otros lugares, como USART. En este momento, los datos no se almacenarán en el registro de datos de entrada.
  • Función de salida
  • La salida push-pull, salida push-pull es que se usarán ambos tubos MOS, el tubo N-MOS se usa para generar corriente y el P-MOS se usa para hundir corriente. Entonces se llama salida de regreso. En la mayoría de los casos, la salida se empuja.
  • Salida de drenaje abierto, la salida de drenaje abierto solo se usa con el tubo N-MOS, el tubo P-MOS no funciona. Entonces, ya sea salida de bajo nivel o salida de alta impedancia. Para un uso normal, un circuito pull-up está básicamente conectado. La salida está determinada por el circuito pull-up cuando la salida está en un estado de alta impedancia . El lugar de uso se utiliza principalmente en IIC, comunicación SMBUS y otros circuitos de bus que requieren la función "AND", o necesita ser utilizado en En lugares donde el voltaje no coincide (si necesita emitir un alto nivel de 5V, puede conectar una fuente de alimentación de 5V a la resistencia pull-up y configurar el IO para salida de drenaje abierto. Cuando la salida está en un estado de alta impedancia, el voltaje del pin tiene Control de potencia pull-up)
  • Salida multiplexada, la salida multiplexada es utilizada por este pin IO para otras funciones, los datos no se obtienen del registro de datos de salida. Si se usa en USART, los datos son controlados por el registro de envío del puerto serie.
    Salida push-pull / salida de drenaje abierto, los datos intermedios se obtienen del registro de datos de salida, podemos operar directamente el registro de datos de salida, o podemos modificar el valor en el registro de datos de salida a través del registro de ajuste / borrado de bits de operación para lograr el estado de control de la salida
    En el modo de salida, el dispositivo de control de salida controla si se usa la salida multiplexada o la función de salida normal. La fuente de datos se obtiene del registro de datos de salida u se obtiene de otro lugar

Al configurar el modo de pin GPIO, debe tenerse en cuenta que no 4 bits determinan el modo de un pin. Encontré los mismos datos utilizados en el pull-up y el pull-down durante la configuración (10 en la figura), entonces, ¿cómo distinguir entre pull-up y pull-down? El registro de datos de salida se usa aquí para distinguir, esto se puede encontrar en la función de biblioteca
Inserte la descripción de la imagen aquí

Publicado 35 artículos originales · Me gusta1 · Visitas 1870

Supongo que te gusta

Origin blog.csdn.net/lzj_linux188/article/details/103719619
Recomendado
Clasificación