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.
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.
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.