analogWriteSetup doesn't work inside setup
faustinoaq opened this issue · comments
Faustino Aguilar commented
Hi @me-no-dev thank you for this project!
I have an issue with analogWriteSetup
:
#define PIN 18
void setup() {
analogWriteSetup(250, 1024); // 250Hz and 1024 steps
}
void loop() {
analogWrite(PIN, 260); // testing 260 steps
}
PIN 18 should output around 450mV but it outputs only 20mV
Faustino Aguilar commented
After checking your source code, I realize analogWriteInit()
overwrites my setup, see:
RasPiArduino/cores/piduino/wiring_pwm.c
Lines 54 to 55 in ae0f60c
so I did this:
#define PIN 18
void setup() {
analogWrite(PIN, 1); // executes analogWriteInit early
analogWriteSetup(250, 1024); // 250Hz and 1024 steps
}
void loop() {
analogWrite(PIN, 260); // testing 260 steps
}
This way I can get the right analog setup and the expected output.