Hallo zusammen,
ich hätte ein kleines Problemchen und zwar wollte ich mit einem STM32
zwei digital Pins einlesen und dann darauf hin ein PWM Signal je nach
Zustand der Pins erzeugen.
Was mich jetzt irgendwie verwirrt ist, dass das PWM Signal über die
Funktion analogWrite ganz normal erzeugt wird, wenn ich jedoch über
pwmWrite das PWM Signal erzeuge, werden die digital Pins nicht mehr
eingelesen.
Meine 2 Output Pins für das PWM Signal sind PB0 und PB1, meine 2 Input
Pins sind PA0 und PA1.
PA0 und PA1 werden bereits nicht mehr eingelesen, wenn PB1 und PB0 als
PWM Pins im Setup konfiguriert werden.
Ist das normal, dass das so passiert oder kann das an der Arduino
Umgebung liegen (dass da irgendwas nicht zu 100% kompatibel ist?)?
Oder hat das Ganze irgendwelche anderen Gründe?
Danke im voraus und viele Grüße
Peter
1 | int IN11;
|
2 | int IN12;
|
3 | int OUT11 = PB1;
|
4 | int OUT12 = PB0;
|
5 |
|
6 | void setup() {
|
7 | pinMode(PA0, INPUT);
|
8 | pinMode(PA1, INPUT);
|
9 | IN11 = digitalRead(PA0);
|
10 | IN12 = digitalRead(PA1);
|
11 | pinMode(PC13, OUTPUT);
|
12 | pinMode(PB1, PWM); //PA0 und PA1 werden bereits nicht mehr eingelesen, wenn PB1 und PB0 als PWM Pins im Setup konfiguriert werden
|
13 | pinMode(PB0, PWM);
|
14 | }
|
15 |
|
16 | void loop() {
|
17 | IN11 = digitalRead(PA0);
|
18 | IN12 = digitalRead(PA1);
|
19 | if (IN11 == 0 && IN12 == 0)
|
20 | {analogWrite(PB1, 2000);}
|
21 | else if (IN11 == 0 && IN12 == 1)
|
22 | {analogWrite(PB1, 0);}
|
23 | else if (IN11 == 1 && IN12 == 0)
|
24 | {analogWrite(PB1, 0);}
|
25 | }
|