In your interrupt mode example you call HAL_ADC_Start_IT() only once outside the infinite loop. Why does it continue to sample? Aren't supposed to call it multiple times? Please explain.
Is it OK to cast a *uint_16 to a *uint_32 and pass it to Start_DMA? Does the function understand that the buffer is really only 4 bytes and not 8 bytes?
Congrats!!! Smooth explanation.
Great Explanation!
Thanks
Nice video,great explanation
Glad you liked it!
In your interrupt mode example you call HAL_ADC_Start_IT() only once outside the infinite loop. Why does it continue to sample? Aren't supposed to call it multiple times? Please explain.
I guess this is because you have "Continous Conversion Mode" enabled. But how do you determine the sampling rate in this case?
it depends on the timer prescaler and the sampling time you set. For each channel, there is a parameter you can set to control the sampklging rate.
Is it OK to cast a *uint_16 to a *uint_32 and pass it to Start_DMA? Does the function understand that the buffer is really only 4 bytes and not 8 bytes?
in that case, I guess you need to specify the memory width to 4 bytes, not 2 bytes.
@@steppeschool3629yes. I noticed now you set the DMA length to half word.