Hallo, hab seit neusten das RN-Control Board und hab auch schon ein paar sachen zum laufen bekommen.z.b das LCD. So nun zu meinem Problem.
Ich will über den Port A einen Schalter bzw. Taster abfragen woraufhin PortC Pin 3 auf high schaltet und mein relais für eine Sirene schaltet.
Hier einmal der Code mit dem ich es probiert habe , es aber nicht klappen will.Hoffe ihr könnt mir weiterhelfen.
Code:#include <avr/io.h> #include <inttypes.h> #ifndef F_CPU #define F_CPU 3686400UL /* Quarz mit 3.6864 Mhz */ #endif #include <avr/delay.h> /* definiert _delay_ms() ab avr-libc Version 1.2.0 */ #include <util/delay.h> /* in der aktuellen Version in util/ */ /* Einfache Funktion zum Entprellen eines Tasters */ inline uint8_t debounce(volatile uint8_t *port, uint8_t pin) { if ( ! (*port & (1 << pin)) ) { /* Pin wurde auf Masse gezogen, 100ms warten */ _delay_ms(50); // max. 262.1 ms / F_CPU in MHz _delay_ms(50); if ( *port & (1 << pin) ) { /* Anwender Zeit zum Loslassen des Tasters geben */ _delay_ms(50); _delay_ms(50); return 1; } } return 0; } int main(void) { DDRA &= ~( 1 << PA1 ); /* PIN PA1 auf Eingang (Taster) */ PORTA |= ( 1 << PA1 ); /* Pullup-Widerstand aktivieren */ if (debounce(&PINA, PA1)) /* Falls Taster an PIN PA1 gedrueckt.. */ PORTC = PINC ^ ( 1 << PC3 ); /* . Port PC3 an- bzw. ausschalten */ }







Zitieren

Lesezeichen