1つの関数がSTM32を取る時間はどれくらい長く測定したいですか?私が見つけることができる唯一のものはSysTick_Handler
です。しかし、それは定期的な割り込みですが、私は必要なのと同様に、時間間隔を取得することです:STM32で時間間隔を取得する方法は?
long t1 = mcu_clock();
sleep(20);
long t2 = mcu_clock();
long diff = (t2 - t1);
私はC clock()
を試してみたが、それは仕事と常に-1
を返しませんでした。どうしたらいいですか?
'SysTick_Handler'の変数をインクリメントし、その変数を問い合わせます。 –
@BenceKaulicsそれは唯一の解決策ですか?これは回避策のようです。 –
いずれかの方法でタイマーを設定し、それを追跡する必要があります。 sys tickとシンプルな変数を使うのが最も簡単です。 STの公式のHALライブラリは、それと同じ方法です。例:[stm32F0xx_hal.c](https://github.com/wemos/Motor_Shield_Firmware/blob/master/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c) –