Important changes to forums and questions
All forums and questions are now archived. To start a new conversation or read the latest updates go to forums.mbed.com.
11 years, 1 month ago.
Measuring a 50Hz sine wave using a ticker?
1 Answer
11 years, 1 month ago.
I answered this question yesterday:
This code is wrong:
for(int i=0;i<128;i++) { printf("%f\n\r", samples[ADC_Count]); }
You need to use the correct index or all you see is the value stored in samples[ADC_Count].
for(int i=0;i<128;i++) { printf("%f\n\r", samples[i]); }
There is also the issue that your ticker continues to run and so the sampling continues and the array index ADC_Count exceeds the valid range of the array...
Please use the <<code>> tag before your code and close the code section with <</code>>
at the end. These tags should be on separate lines.
Sorry I'm quite new to programming how do I stop the Ticker after 128 samples are taken?
Thanks
posted by 11 Nov 2013Check the Ticker page in the handbook: http://mbed.org/handbook/Ticker
You can disable the ticker by calling:
ADC_set.detach();
Do this right after the while loop where you wait for the 128 samples to complete. There is still some probablity of overrun due to delays. Have a go and try to solve that problem.
posted by 11 Nov 2013