Generate a frequency of as low as 0.01Hz and as High as 100kHz

I want to generate frequency range from 0.01Hz to 100kHz using VF50 with viola V1.2. Currently I am not able to do this as its PWM minimum frequency is 7.86Hz . Please suggest me the best possible way to generate the low frequency up 0.01Hz.

Dear @Mania

For frequencies below 10Hz, I recommend you configure the PWM pin to act as a regular GPIO, and toggle the GPIO between 0 and 1 in software.
If you want your application to continue doing other things in the meantime, pack the toggling into an individual thread.

With the Sleep() function you can wait for a number of milliseconds. Using Sleep() alone might decrease the precision of the frequency, as it does not take into account any execution times and delays. To overcome this, you can combine it with the GetTickCount() function, which gives you an absolute time reference.

Regards, Andy