Witam
Posiadam w aplikacji dwa timery połączone kaskadowo, TIM3 "triguje" TIM4.
Jak odczytać wartość 32-bitową z tych dwóch timerów aby uniknąć tzw. "race condition", czyli przepełnienie TIM4 pomiędzy odczytem TIM3 a TIM4.
Nie istnieje możliwość odczytu w pętli tych timerów dopóki nie uzyskamy wartości bez błędu, gdyż wartość ta ma być obarczona jak najmniejszym błędem.
W tej chwili odczyt jest dokonywany tak:
(((unsigned int)TIM4->CNT)<<16)|TIM3->CNT
Posiadam w aplikacji dwa timery połączone kaskadowo, TIM3 "triguje" TIM4.
Jak odczytać wartość 32-bitową z tych dwóch timerów aby uniknąć tzw. "race condition", czyli przepełnienie TIM4 pomiędzy odczytem TIM3 a TIM4.
Nie istnieje możliwość odczytu w pętli tych timerów dopóki nie uzyskamy wartości bez błędu, gdyż wartość ta ma być obarczona jak najmniejszym błędem.
W tej chwili odczyt jest dokonywany tak:
(((unsigned int)TIM4->CNT)<<16)|TIM3->CNT