@Grandalf
Ich hab deinen Code nach Codevision umgestrickt und durch den Simulator von AVR Studio gejagt.
Erstmal wurden da eine ganze Menge Compilerfehler gemeldet.
Zum Beispiel der Ausdruck
pruefung=pruefung - pow(2,i);
Kann der stimmen oder gehören da nicht eckige Klammern hin ?
also
pruefung=pruefung - pow[2,i];
Zum zweiten wurde nach dem rausmachen dieser Fehler nur der Port B.0 aktiv. Alle Aktionen gingen nur auf diesen Port.
Über diesen Ausdruck:
Code:
while(!(PIND & (1<<nIRQ)))
{
}
lief der Simulator auch nach änderung des DDR und des Pind nicht drüber.
Teste doch mal dein Programm mit AVR - Studio 4 aus, dann wird es auch in der realen Welt wahrscheinlicher das es funktionieren wird.
Lesezeichen