@Fieke:
Ausgänge kann man nicht lesen, sondern nur Eingänge.
Mit ...
Code:
// Eingänge definieren:
DDRA &= ~E_INT1; // PA4 (IT1) als Eingang definieren
// PORTA |= E_INT1; // evtl. Pullup für PA4
DDRC &= ~(SCL | SDA); // PC0, PC1 als Eingänge definieren
// PORTC |= (SCL | SDA); // evtl. Pullups für PC0, PC1
... definiert man SCL, SDA und INT1 als Eingänge.
Abfragen kann man sie im Programm mit ...
Code:
// Abfrage der Pins:
temp1 = PINA & E_INT1;
temp2 = PINC & SCL;
temp3 = PINC & SDA;
Den Wert von tempX kann man nicht mit WriteInteger o.ä. ausgeben, weil das nur ein Ja/Nein-Wert ist. tempX ist also entweder 0 oder <> 0. Damit erkennt der Roboter dann die Linie, der er folgen soll.
Die Abfrage im Programm erfolgt dann mit ...
if (tempX) {tuwas};
oder ...
if (!tempX) {tuwasanderes};
Gruß Dirk
Lesezeichen