Para hacer que la pata de entrada / salida del sensor esté alta desde mcu, ¿es mejor dar la lógica alta desde mcu o hacer que la entrada mcu-pin con pull-up?

1

Conduzco sht11 sensor de temperatura-humedad de mcu, el diseño de referencia de MikroElektronika usa lo siguiente: Para hacer que el pin sda esté alto, el pin conectado a sda (que es pull-up) no se asigna a la lógica 1, sino que se hace una entrada para hacer sda alto.

Usé esto y funcionó, pregunto: ¿es mejor y por qué?

/***************************************************************
* Generates a transmission start
*       _____         ________
* DATA:      |_______|
*           ___     ___
* SCK : ___|   |___|   |______
***************************************************************/
void Transmission_Start() {
  SDA_Direction = 1;                     // define SDA as input
  SCL = 1;                               // SCL high
  Delay_1us();                           // 1us delay
  SDA_Direction = 0;                     // define SDA as output
  SDA = 0;                               // SDA low
  Delay_1us();                           // 1us delay
  SCL = 0;                               // SCL low
  Delay_1us();                           // 1us delay
  SCL = 1;                               // SCL high
  Delay_1us();                           // 1us delay
  SDA_Direction = 1;                     // define SDA as input
  Delay_1us();                           // 1us delay
  SCL = 0;                               // SCL low
}
    
pregunta electro103

1 respuesta

2

En la página 5 de la hoja de datos, dice "Para evitar la contención de la señal, el microcontrolador solo debe manejar DATOS bajo. Se requiere una resistencia de pull-up externa (por ejemplo, 10kΩ) para jalar la señal alta" - Supongo que significa que no quieres tener la posibilidad de que tu micro lo lleve alto mientras que el sensor lo hace bajo, dando un cortocircuito directo.

    
respondido por el Roger Rowland

Lea otras preguntas en las etiquetas