Hallo
Du benötigst neben dem eigentlichen Programm (https://www.roboternetz.de/phpBB2/ze...=328824#328824) auch die zwei Lib-Dateien (https://www.roboternetz.de/phpBB2/ze...=329255#329255) um es kompilieren zu können. Die Libs sind nötig, weil wir einen freien Timer für die 100000kHz/10us brauchen. PC0/SCL ist die Richtung, PC1/SDA die Geschwindigkeit. Ich kann dir auch die fertige Hex-Datei raussuchen (btw. war das vor über 2 Jahren), aber dann geht der Lerneffekt für dich noch mehr gegen null.
Naja, beissen tu ich natürlich nicht, aber persönlichen Support per PN/Mail lehne ich normalerweise ab, denn der Sinn des Forums ist doch die Öffentlichkeit der Beiträge.ansonsten Frag doch einfach Radbruch in einer PN, der beisst nicht!
Gruß
mic
[Edit] Bei der Suche nach dem Hex-File habe ich noch was nettes gefunden:
:)Code:// Auswerten eines 2-Kanal RC-Empfängers an PortC0 und PortA4 31.12.2007 mic // Mit der RP6-Library, blockierend wie sleep(), ohne timeout!!! // Besser ist ein Anschluß an ADC0/ADC1 (PortA0 und PortA1) #include "RP6RobotBaseLib.h" // Library einbinden #include "RP6uart.h" // Zum Debuggen, wir wollen ja was sehen, #include "RP6uart.c" // auch wenn wir kein LCD besitzen uint8_t read_rc(uint8_t kanal) { extern uint8_t delay_timer; // der sleep()-Timer aus RP6RobotBaseLib.c if (kanal == 1) // Eingang Kanal 1 der RC-Fernbedienung (SCL xBus Pin10) { while (!(PINC & 1)); // Warten auf aufsteigende Flanke sleep(0); // setzt den delay_timer auf 0 while (PINC & 1); // Warten auf absteigende Flanke return (delay_timer); // Fertig, Rückgabewert in 0.1ms } if (kanal == 2) // Eingang Kanal 2 der RC-Fernbedienung (E_INT1 xBus Pin8) { while (!(PINA & E_INT1)); // Warten auf aufsteigende Flanke sleep(0); // setzt den delay_timer auf 0 while (PINA & E_INT1); // Warten auf absteigende Flanke return (delay_timer); // Fertig, Rückgabewert in 0.1ms } return(0); // ungültiger Parameter übergeben } int main(void) { initRobotBase(); DDRC &= ~1; // Ports auf Eingang (SCL) PORTC &= ~1; // und PullUps aus extIntOFF(); // E_INT1 auf Eingang setLEDs(1); // Anzeige Programm gestartet writeString_P("\n\n\r2-Kanal RC-Empfänger einlesen 31.12.07 mic\n\r"); while(1) { writeString_P("\n\r"); writeString_P("Kanal 1: "); writeInteger(read_rc(1), 10); writeString_P(" Kanal 2: "); writeInteger(read_rc(2), 10); mSleep(300); } return 0; }
Ich bin nicht sicher ob es das richtige Hex-File ist..







Zitieren

Lesezeichen