egal ;D kommt ch1 oder ch2 in sda?
Druckbare Version
egal ;D kommt ch1 oder ch2 in sda?
timok95@live.de
welchen du an sda und welchen du an slc hängst ist egel, weil du beide nur als verbindung zum atmega32 benutzt, und der dann das PWM signal wieder in befehle umwandelt.
wärst so freundlich un könntest mir den richtigen quell code posten... will mir das mal genauer angucken... wär echt genial :D
warum nimmst du nicht die von radbruch?
ein bischen eigenarbeit ist schon nötig, und den code aus den drei schnipseln zusammenzubasteln solltest du können, wenn nicht kauf dir ein ferngesteuertes auto oder fang erstmal an leds am rp6 an und aus zu schalten. wenn du in einem halben jahr nochmal fragst, und dann schonmal einen lösungsansatzs hast, werden dir schicherlich auch RN user weiterhelfen.
ansonsten Frag doch einfach Radbruch in einer PN, der beisst nicht!
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.Zitat:
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..
wärst du so nett und schickst mir bitte die hex. ich hab hier noch nichts eingerichtet.. grad auf win7 umgestiegen...
dankeschön..