-
-
Eingang abfragen
Hallo,
ich versuche gerade meinen mega32 davon zu überzeugen einen Eingang abzufragen, komme dabei aber nicht weiter.
Ich habe Pin A0 als eingang definiert und mit einem Taster versehen welcher auf + landet. Weiter habe ich pin C0 als Ausgang definiert und an - angebunden dazwischen eine LED. Nun habe ich volgendes Programm geschrieben.
Ziel PC0 mit demTaster wieder aus zu schalten.
#include <avr/io.h>
#include <stdint.h>
int main(void)
{
DDRA &= ~( 1 << PA0 ); /* PIN auf Eingang (Taster) */
PORTA |= ( 1 << PA0 ); /* Pullup-Widerstand aktivieren */
DDRC = (1 << DDC0); // pin c0 als ausgang
PORTC |= (1<<PC0); // CPort C0 auf high
if ( !(PINA & (1<<PINA0)) ) // Port A0 = 0 dann mache was
{
PORTC &= ~(1<<PC0); // Port C0 auf low
}
}
PCO geht auf high aber lässt sich nicht mehr über A0 ausschalten. Spannung bei A0 (Taster nicht gedrückt > 0,7*Vcc also =1, Taster gedrückt <0,2*vcc also = 0).
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen