差分
この文書の現在のバージョンと選択したバージョンの差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
altera:niosii:ディレイの作り方 [2012/05/12 13:02] kimu_shu |
altera:niosii:ディレイの作り方 [2012/05/13 04:40] (現在) kimu_shu [準備] |
||
---|---|---|---|
ライン 1: | ライン 1: | ||
====== ディレイの作り方 ====== | ====== ディレイの作り方 ====== | ||
- | たとえばAVRなら<util/delay.h>に用意されている関数で簡単にディレイを生成できる。命令の実行時間が容易なので、 | + | たとえばAVRなら<util/delay.h>に用意されている関数で簡単にディレイを生成できる。命令の実行時間予測が容易なので、 |
クロック設定さえ教えれば必要な待ちループを作ってくれる。 | クロック設定さえ教えれば必要な待ちループを作ってくれる。 | ||
ライン 6: | ライン 6: | ||
そのせいかループによるディレイ関数は用意されていないようだ。 | そのせいかループによるディレイ関数は用意されていないようだ。 | ||
- | NiosIIでディレイを実現するには、素直にIntervalTimerを使う。 | + | NiosでOSを載せない(HALを使う)場合には、IntervalTimerでシステムチックを供給させ、アラームやalt_nticks()のポーリングでディレイを作る。 |
+ | |||
+ | |||
+ | ===== 準備 ===== | ||
+ | QsysまたはSOPC BuilderでIntervalTimer(QsysならLibrary→Peripherals→Microcontroller peripheralsにある)を追加。 | ||
+ | * 適当にperiodを設定 | ||
+ | * PresetはSimple periodic interruptを選択 | ||