@Fieke:
Ausgänge kann man nicht lesen, sondern nur Eingänge.
Mit ...
... definiert man SCL, SDA und INT1 als Eingänge.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
Abfragen kann man sie im Programm mit ...
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.Code:// Abfrage der Pins: temp1 = PINA & E_INT1; temp2 = PINC & SCL; temp3 = PINC & SDA;
Die Abfrage im Programm erfolgt dann mit ...
if (tempX) {tuwas};
oder ...
if (!tempX) {tuwasanderes};
Gruß Dirk







Zitieren
Lesezeichen