However I still have the last "things did not work as expected" trace on my screen, and something puzzles me.
The bottom trace is a signal going into my STM32F072. It comes in on PA8 and is tied to an exti callback.
The trace above that is my "debug signal". The small spikes are one type of interrupt, the big one is the VT callback running. I would've expected the exti interrupt to run and process at the lower level just after the tim2/VT interrupt finishes running.
I've configured the ext_config with:
Code: Select all
static EXTConfig extcfg; // initialize all to zero/disabled.
void add_ext (int chan, int flags, extcallback_t cb)
{
extcfg.channels[chan].mode = flags;
extcfg.channels[chan].cb = cb;
}
Code: Select all
add_ext (8,
EXT_CH_MODE_RISING_EDGE | EXT_CH_MODE_AUTOSTART | EXT_MODE_GPIOA,
bogen_cb);
So I would expect the "rising edge" to trigger the exti interrupt, and then for my callback to be called once the time is ripe. However I don't see that happening. (proof for that is outside the logic analyser grab).