Gast
#2403672
Señoras y Señores,
sorry aber mein Deutsch ist nicht so gut!!
Ich habe eine Fernsteuerung und ihr Empfänger für ein kleines Flugzeug
dann bekomme ich ein PWM signal ich möchte das einfangen und dann ein
paar sachen mit dem steuern.
Ich habe nicht viel erfahrung mit dem und ich wäre sehr dankbar wenn
jemand mir helfen kann.
gruss
////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
/* uC: Attiny2313 */
#include <avr/io.h>
#include <avr/interrupt.h>
#include "regdef.h"
#include <stdlib.h>
volatile unsigned int counter;
int main(void) {
DDRB = 0xfc; // Eingänge
PORTB = 0x00; // Pullups an Eingängen
DDRD = 0xbf; // Eingänge,
PORTD = 0x00; // Pullups
// Timer1 initialisieren:///////////////////////////////////////
TCCR1A = 0; // normal mode, keine PWM Ausgänge
TCCR1B = (1<< ICNC1) + (1 << CS11) // start Timer mit Systemtakt
+ (1 << ICES1); // steigende Flanke auswählen
TIMSK = (1<<TOIE0) + (1<<ICIE1) + (1<<TOIE1); // overflow und
Input-capture aktivieren,
TIFR = (1<<ICF1);
while(1) {
counter=0;
ICR1=0;
while(REG.xPORTB.BIT.B1!=0){REG.xPORTB.BIT.B6=1;}
//if(ICR1>=5000){REG.xPORTB.BIT.B6=1;}
}
}
ISR(TIMER1_CAPT_vect) {
uint16_t tval;
tval=ICR1;
}
ISR(TIMER1_OVF_vect) // Timer1 Überlauf
{
++counter; //
}