|
@@ -39,23 +39,24 @@ void us_transmit() {
|
|
|
|
|
|
EIMSK = 0;
|
|
|
|
|
|
- pinMode(US_RX_0_PIN, OUTPUT);
|
|
|
- pinMode(US_RX_1_PIN, OUTPUT);
|
|
|
- pinMode(US_TX_0_PIN, OUTPUT);
|
|
|
- digitalWrite(US_RX_0_PIN, LOW);
|
|
|
- digitalWrite(US_RX_1_PIN, LOW);
|
|
|
- digitalWrite(US_TX_0_PIN, LOW);
|
|
|
+
|
|
|
+ DDRD |= 0b00011100;
|
|
|
+ PORTD &= 0b11100011;
|
|
|
+
|
|
|
delayMicroseconds(2);
|
|
|
- digitalWrite(US_RX_0_PIN, HIGH);
|
|
|
- digitalWrite(US_RX_1_PIN, HIGH);
|
|
|
- digitalWrite(US_TX_0_PIN, HIGH);
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ PORTD |= 0b00011100;
|
|
|
+
|
|
|
delayMicroseconds(5);
|
|
|
- digitalWrite(US_RX_0_PIN, LOW);
|
|
|
- digitalWrite(US_RX_1_PIN, LOW);
|
|
|
- digitalWrite(US_TX_0_PIN, LOW);
|
|
|
- pinMode(US_RX_0_PIN, INPUT);
|
|
|
- pinMode(US_RX_1_PIN, INPUT);
|
|
|
- pinMode(US_TX_0_PIN, INPUT);
|
|
|
+
|
|
|
+
|
|
|
+ PORTD &= 0b11100011;
|
|
|
+
|
|
|
+
|
|
|
+ DDRD &= 0b11100011;
|
|
|
|
|
|
|
|
|
EIMSK = _BV(INT1) | _BV(INT0);
|
|
@@ -72,4 +73,4 @@ long us_get_duration(byte sensor) {
|
|
|
} else {
|
|
|
return -(F_CPU / 1000000);
|
|
|
}
|
|
|
-}
|
|
|
+}
|