Actualmente estamos utilizando varias variantes de la familia de microcontroladores STM32. Me gustaría saber lo siguiente:
1) ¿Cuáles son las configuraciones predeterminadas recomendadas para los pines de los microcontroladores en general si tiene la opción de seleccionar tanto pull-ups como pull-ups? ¿Cuáles son los pros y los contras de ir con uno u otro? (Asumiendo que los configurará por defecto como entradas)
2) En particular, me gustaría saber qué hacer con los pines no utilizados para la familia de microcontroladores STM32. Para mí es obvio que no debemos dejar los pines flotando (que es todo lo que dice la hoja de datos, :(), pero ¿debería configurarlos para que ingresen con pull ups o input con pull down? En particular, me gustaría para elegir una configuración que sea menos susceptible a ESD y también, si es posible, consume la menor cantidad de energía.
3) Para pines críticos, ¿deberíamos confiar en el firmware para configurar correctamente los pines en el estado predeterminado correcto o esta responsabilidad debería recaer en el hardware externo (conexión de pull-ups o pull-ups externos)? Si los valores elegidos para las resistencias externas son mayores que los pull-ups o pull-ups internos, la configuración en el firmware no importa.
Lo profesional que puedo ver por hacer lo anterior es que si el micro no se inicializa correctamente por cualquier motivo (hardware defectuoso o similares), no confiamos en el firmware para configurar el pin correctamente.
La desventaja que veo es que cuesta más hacer esto es hardware.
Cualquier luz que pueda arrojar sobre lo anterior será realmente apreciada.
Gracias..