#include <avr/io.h> #include <avr/interrupt.h> #include <avr/signal.h> #include <avr/iom32.h> #define SYSCLK 3686400 #define Preclk 3600 #define LEDS_DDR DDRC #define LEDS_PORT PORTC int i=0; void delay_ms(unsigned int ms); signal (SIG_OUTPUT_COMPARE0 ) { PORTC=~PORTC; delay_ms(10); } void delay_ms(unsigned int ms) { unsigned int zaehler; while (ms) { zaehler = SYSCLK / 3686.4; while (zaehler) { asm volatile ("nop"); zaehler--; } ms--; } } int main(void) { //PortC wird als AUsgang definiert LEDS_DDR = 0xFF; //PortC wird auf o gesetzt //PORTC=0xFF; //Interrupts enablen sei(); //Output compare match interrupt enable timer_enable_int (1<<OCIE0); //Output Compare Register setzen OCR0=0xF0;//240 //Timer starten Vorteiler 1024 TCCR0=(1<<WGM01)|(1<<CS00)|(1<<CS02); //Endloschleife for(;;) { /*if(TCNT0==0xEF) { if(PINC==0x10) { PORTC=0x08; delay_ms(100); } else { PORTC=0x10; delay_ms(100);} } */ } }
Lass mich über dein Problem raten. Es ist: [ ] Du kannst dich nicht ausdrücken und konntest daher nicht beschreiben, was dein Fehlerbild überhaupt ist. [ ] Du weißt gar nicht, ob es ein Fehlerbild gibt. [ ] Du kannst mit den Compilerwarnungen nichts anfangen. [ ] Du hast die Compilerwarnungen abgeschaltet. [ ] Du weißt nicht, dass in C signal() und SIGNAL() zwei verschiedene Bezeichner sind. [ ] Du hast die Dokumentation zu <avr/delay.h> (oder jetzt <util/delay.h>) noch nicht gelesen und weißt daher nicht, dass es _delay_ms() bereits gibt. [ ] Du hast die Doku überhaupt noch nicht gelesen. Zutreffendes bitte ankreuzen.
@Jörg: Lass mich über dein Problem raten. Es ist: [ ] Du bist mit dem falschen Fuß aufgestanden. [ ] Du hast deine Medikamente nicht genommen. [ ] Du hast heute versehentlich eine Datei gelöscht, an der du sehr lange gearbeitet hattest und von der du kein Backup hast. [ ] Du hast ein sehr teures Bauteil verpolt und dieses ist den Weg allen Irdischen (... und zu Asche wirst du werden...) gegangen. [ ] Dir hat einer den Wagen zerkratzt. [ ] Dein Hartz IV wurde gestrichen. Zutreffendes bitte ankreuzen.
Danke @Jörg: Punkt 5 trifft zu, und du bist unfreundlich @Rolf: einfach nur DANKE
Naja, saschisch, einfach den Code reinstellen ohne eine Frage, ist auch nicht gerade freundlich...
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.