1 votos

Para hacer que el pin de entrada-salida del sensor sea alto desde la mcu ¿es mejor dar un alto lógico desde la mcu o hacer la entrada del pin de la mcu con pull-up?

Conduzco sht11 sensor de temperatura-humedad del mcu, el diseño de referencia de MikroElektronika utiliza lo siguiente: Para hacer el pin sda alto, el pin conectado a sda (que es pull-up) no se da a la lógica 1 en su lugar, se hace la entrada para hacer sda alta.

He utilizado esto y ha funcionado, pregunto si 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
}

2voto

En la página 5 de la hoja de datos dice "Para evitar la contención de la señal, el microcontrolador sólo debe conducir DATA a nivel bajo. Se requiere una resistencia externa de pull-up (por ejemplo, 10kΩ) para llevar la señal a alto" - Supongo que quiere decir que no quieres tener la posibilidad de que tu micro lo conduzca alto mientras el sensor lo conduce bajo, dando un cortocircuito directo.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X