Пт фев 10, 2017 16:21:08
x8973 писал(а):Zat писал(а):Собственно, этот выход, когда висит в воздухе и греется.
Что-то я не совсем понимаю, как транзистор, к которому не подключена нагрузка, может греться. Но раз даташит велит, то надо делать. Попробую на досуге.
Пн май 17, 2021 08:17:47
// START
if(
!setLines(PIN_SCL) ||
!setLines(0)
) {
return(false);
}
// Address
uint8_t uBit, uShift = uByte;
for(int ct = 0; ct < 8; ct++) {
uBit = ((uShift & 0x80) ? PIN_SDA : 0);
if(
!setLines(uBit) ||
!setLines(PIN_SCL | uBit) ||
!setLines(uBit)
) {
return(false);
}
uShift <<= 1;
}
// ACK
line_type tAck;
if(
!setLines(PIN_SDA) ||
!setLines(PIN_SCL | PIN_SDA) ||
!getLines(tAck) ||
!setLines(PIN_SDA)
) {
return(false);
}
// STOP
if(
!setLines(0) ||
!setLines(PIN_SCL) ||
!setLines(PIN_SCL | PIN_SDA)
) {
return(false);
}
// Set result
bResult = ((tAck & PIN_SDA) ? false : true);
Пн май 17, 2021 11:27:50
Чт май 20, 2021 10:24:46