facile
05.12.2008, 19:05
Hi,
hab mal wieder eine Frage die aber nur gering mit Robotik zu tun hat ;)
Wir sind grad dabei (kleine Gruppe) in der Schule ein 1m x 1m Modell-HRL zu programmieren.
Funktioniert auch alles soweit allerdings gibts Probleme mit der Sensorik. Irgendwie bekommen wir keine Ergebnisse von 2 Lichtsensoren am Anfang und Ende des Fliesbands (Einlagerung bis zum "Kran").
Also mal kurz eine Frage da ich auf dem Schlauch stehe:
damit ich an die Sensoren kommen muss ich dem µC erst sagen zu welchem µC ich will (insgesamt 4 hinter dem µC an dem Motoren, Sensoren etc angschlossen sind.) Das mache ich dann mit:
/* Strobe auf High */
PORTB |= (1<<PB1);
/* Adresse auf Datenport */
PORTA = 4;
/* Init mit Delay zur Uebernahme */
PORTA |=(1<<PA0);
_delay_us(10);
PORTA &= ~(1<<PA0);
/* Richtungsregister setzen */
DDRA = 0x00;
/* Strobe wieder auf low */
PORTB &= ~(1<<PB1);
/* und jetzt die eigentliche Frage */
if(PINA & 0x01) xyz=128; //<<< Geht das? ;)
Funktioniert die Abfrage am Ende so?
Denke alzu viel kann man mit dem Code nicht anfagen aber das kompl. Programm wäre noch undurchschaubarer da es nicht kommentiert ist ;)
Danke im Vorraus
hab mal wieder eine Frage die aber nur gering mit Robotik zu tun hat ;)
Wir sind grad dabei (kleine Gruppe) in der Schule ein 1m x 1m Modell-HRL zu programmieren.
Funktioniert auch alles soweit allerdings gibts Probleme mit der Sensorik. Irgendwie bekommen wir keine Ergebnisse von 2 Lichtsensoren am Anfang und Ende des Fliesbands (Einlagerung bis zum "Kran").
Also mal kurz eine Frage da ich auf dem Schlauch stehe:
damit ich an die Sensoren kommen muss ich dem µC erst sagen zu welchem µC ich will (insgesamt 4 hinter dem µC an dem Motoren, Sensoren etc angschlossen sind.) Das mache ich dann mit:
/* Strobe auf High */
PORTB |= (1<<PB1);
/* Adresse auf Datenport */
PORTA = 4;
/* Init mit Delay zur Uebernahme */
PORTA |=(1<<PA0);
_delay_us(10);
PORTA &= ~(1<<PA0);
/* Richtungsregister setzen */
DDRA = 0x00;
/* Strobe wieder auf low */
PORTB &= ~(1<<PB1);
/* und jetzt die eigentliche Frage */
if(PINA & 0x01) xyz=128; //<<< Geht das? ;)
Funktioniert die Abfrage am Ende so?
Denke alzu viel kann man mit dem Code nicht anfagen aber das kompl. Programm wäre noch undurchschaubarer da es nicht kommentiert ist ;)
Danke im Vorraus