1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

HAL APIタイマで1秒周期から500ms周期にできなかった話

Last updated at Posted at 2019-07-10

##環境

##1秒周期から500ms周期にすると割り込みが入らずに1回で終わる
alt_ticks_per_second()*0.5として、500ms周期のタイマを期待したが、1回きりの実行で終わってしまう。
Debugモードでalt_ticks_per_second()の値を見ると、1が返っていた。どうやら1×0.5=0.5 →0となっていたためらしい。
Platform editorでtimer_0のTimeoutの設定が「1s」であるからalt_ticks_per_second()が1であるらしい。
Timeoutの設定を1msとすると、alt_ticks_per_second()が1000に変化したので、alt_ticks_per_second()*0.5として期待の動作になった。

##余談
この件の最中、Debugモードがおかしくなった。
具体的には、ファイルcrt0.sのmovui r2, NIOS2_DCACHE_SIZEでブレークしてしまい、
Continueしても画面が変化せず、main()に進まない。
結局、NiosII Debug画面のBreakPointViewのRemove All BreakPointと、Clean Projectをして正常動作になった。
原因不明で腑に落ちないけども。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?