me-no-dev / RasPiArduino

Arduino Framework for RaspberryPI

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

analogWriteSetup doesn't work inside setup

faustinoaq opened this issue · comments

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

After checking your source code, I realize analogWriteInit() overwrites my setup, see:

_pwm_has_started = 1;
_pwm_wanted_freq = analogWriteSetup(1000, 256);

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.