Schönen guten Abend,
ich bin gerade dabei, die Überprüfung auf einen Tastendruck nicht in
einer while Schleife permantent abzufragen, sondern über Interrupts.
Folgenden Code möchte ich umschreiben:
1 | main(void)
|
2 | {
|
3 | while(1)
|
4 | {
|
5 | if( (PINK&0b01000000)==0){
|
6 | PORTB=0b00000111;
|
7 | }else{
|
8 | PORTB=0b00000110;
|
9 | }
|
10 | }}
|
damit der Tastendruck in Form von einem Interrupt abgefragt wird.
Was löst denn ein Itnerrupt aus? Ein Zustandswechsel an Ports, die auf
Eingang geschaltet sind?
Dann könnte doch folgender Code benutzt werden ?
1 | main(void)
|
2 | {
|
3 | sei();
|
4 | }
|
5 |
|
6 |
|
7 | ISR(Vectorname)
|
8 | {
|
9 | if( (PINK&0b01000000)==0){
|
10 | PORTB=0b00000111;
|
11 | }else{
|
12 | PORTB=0b00000110;
|
13 | }
|
14 | }
|
würde das funktionieren?
Was ist der Vektorname beim AT2560 ? Ich verstehe die Anleitung im
Tutorial nicht die zu ermitteln.
Schönen Dank!
jo