You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Current ADC implement only works on the example. Adding totally unrelated parts to the program breaks the ADC function.
The default sample time SampleTime::CYCLES1_5 works. Set to other cause Adc::read().await hang-up forever.
Then add line defmt::info!("convert started"); to embassy-stm32/src/adc/f1.rs file convert() function above line T::state().waker.register(.... makes it work...
My project uses USB CDC. When start the USB task, ADC doesn't work, when remove USB stuffs the ADC works again.
, which is quite confusing. And it takes my hours to debug.
It turns out that the ADC End of Convert interrupt doesn't triggered at all. So the poll_fn wouldn't wake up once it go pending. It only works if the convert was completed before first time the poll_fn is polled.
Current ADC implement only works on the example. Adding totally unrelated parts to the program breaks the ADC function.
SampleTime::CYCLES1_5
works. Set to other causeAdc::read().await
hang-up forever.defmt::info!("convert started");
toembassy-stm32/src/adc/f1.rs
fileconvert()
function above lineT::state().waker.register(....
makes it work..., which is quite confusing. And it takes my hours to debug.
It turns out that the ADC End of Convert interrupt doesn't triggered at all. So the
poll_fn
wouldn't wake up once it go pending. It only works if the convert was completed before first time thepoll_fn
is polled.embassy/embassy-stm32/src/adc/f1.rs
Lines 124 to 132 in 51d87c6
The text was updated successfully, but these errors were encountered: