Hallo zusammen,
ich tüftle schon sein einiger Zeit an einem Programm und bringe es nicht
zum Laufen:
1 | bit Pumpe @ PORTA.0;
|
2 | bit A @ PORTB.7;
|
3 | bit B @ PORTA.2;
|
4 | bit C @ PORTA.3;
|
5 | bit D @ PORTB.2;
|
6 |
|
7 | void init(void) {
|
8 | TRISA = 0b.0000.0000;
|
9 | PORTA = 0b.0000.0000;
|
10 | TRISB = 0b.0110.0001;
|
11 | PORTB = 0b.0000.0000;
|
12 | return;
|
13 | }
|
14 |
|
15 | void setup(void) {
|
16 | Pumpe = 1;
|
17 | // A = 1;
|
18 | // B = 0;
|
19 | // C = 0;
|
20 | // D = 1;
|
21 | delay_ms(1000);
|
22 | Pumpe = 0;
|
23 | delay_ms(1000);
|
24 | return;
|
25 | }
|
26 |
|
27 |
|
28 |
|
29 | void main(void) {
|
30 | init();
|
31 | loop:
|
32 | setup();
|
33 | goto loop;
|
34 | }
|
Zum Problem:
Im oberen Testprogramm sind ja vier Zeilen auskommentiert.
Das Programm funktioniert. Der Pumpen-Pin wird zyklisch ein/aus
geschalten.
Schalte ich die erste und letzt auskommentierte Zeile scharf
funktioniert auch noch alles.
Wenn ich jedoch die beiden mittleren Zeilen scharf schalte, schaltet der
Pumpen-Pin nicht mehr zyklisch ein und aus.
Woran kann das liegen?
Kann man den Port A nicht genauso verwenden wie den Port B?
Gruß Andi