Moin!!! Ich hab jetzt endlich mal wieder Zeit mit dem µC rumzuspielen. Hab das Problem auf die reihe bekommen (konnte doch nicht mehr programmieren). Nachdem mir mein Steckbrett runtergefallen ist, und ein loch ins laminat gemacht hat, hatte ein Beinchen keinen Kontakt mehr...naja, jetzt funzt ja wieder alles. Bis auf das Programm.
Hab dieses Programm auf den µC geladen:
Code:
#include <avr/io.h>
#include <stdint.h>
int main (void)
{
DDRA = 0xff;
DDRD = 0x00;
while (1)
{
if ((PIND & (1<<0)) != 0) // ruhig die bitweise Verknüpfung noch mal in Klammern, also if ((PIND & (1<<0)) != 0), konkret -> wenn PD high dann
{
PORTA |= (1<<0); //PortA0 auf 5V steuern wenn PortD0 ungleich 0, ausgeschrieben heißt das PORTA = PORTA | (1<<), wobei '|' bitweises 'oder' bedeutet
}
else
PORTA &= (1<<0); //wenn PortD0 0 ist soll PortA0 0V haben ,das heißt : ~(1<<0) setze Bit0 und invertiere das Ergebnis, danach mach eine &-Verknüpfung mit PORTA
} //ende der While-schleife
return 0;
}
Wenn ich auf [WinAVR] Programm drücke, geht sofort die LED an, die an PA0 hängt (Anode an µC, kathode über Widerstand an Masse).
Eine änderung des Signals 0V oder 5V ändert daran gar nichts.
Hoffe ihr könnt helfen.
MfG Jan
Lesezeichen