Hallo zusammen,
ich habe da eine kleine Testschaltung mit einem ATMEGA32, einem LCD und drei Tastern. Aus irgend einem Grund kriege ich die Taster nicht eingelesen, wenn ich den Tasterstatus auf dem LCD ausgebe kriege ich immer 0 (low) raus.
Mit dem Multimeter gemessen liegt an den entsprechenden Pins 0 V an wenn der Taster nicht gedrückt ist, und 4.93 V wenn der Taster gedrückt ist - ich vermute also die Beschaltung ist so ok.
Layout:
PB0---+--[4k2]---| | \---o/o----+5V
PB1---+--[4k2]---| | \---o/o----+5V
PB2---+--[4k2]---| | \---o/o----+5V
Der Code in WINAvr dazu ist:
---------------- #define F_CPU 10000000
#include #include "lcd-routines.h" #include
int main(void) { unsigned char cnt,blnk,bval;
lcd_init();
lcd_data('T'); lcd_data('e'); lcd_data('s'); lcd_data('t');
DDRA = 0xFF; // Port A Ausgänge DDRB = 0x00; // Port B Eingänge PORTB = 0x00; // Interne Pullups deaktivieren
blnk = 0xFF;
while(1) { bval = PORTB; PORTA = blnk; for (cnt=0;cnt