0
Armのマイクロコントローラプログラミングでは新しいです。私はデータシートを読んで、これを見つけた:ハードウェア乱数ジェネレータエラーアームM4
- リセット/初期化。
CR[INTM]
への書き込み1、CR[HA]
、及びCR[GO]
- ポーリング
SR[OREG_LVL]
SR[OREG_LVL]
が0でない場合には0 - なくなるまで、
OR[RANDOUT]
- 必要に応じて繰り返し3及び4ステップから利用可能なランダムデータを読み出します。
これは、乱数を生成する手順です。誰かが私にコード例を教えてもらえますか?私はk64サブファミリー、具体的にはMK64FX512VLL12で働いています。ここで
は、私が試したものです:
void Rng_Test()
{
RNG->CR |= RNG_CR_SLP_MASK;
RNG->CR |= RNG_CR_GO_MASK;
RNG->CR |= RNG_CR_HA_MASK;
RNG->CR |= RNG_CR_INTM_MASK;
while (RNG_SR_OREG_LVL_MASK == 0) { }
}
ARMは、マイクロプロセッサ*コア用のアーキテクチャの全ファミリです。コア自体にはRNGハードウェアはありません。特定のチップに固有のもので、データシートへのリンクを指定して指定する必要があります。 –
@EugeneのSh https://www.google.com.ar/url?sa=t&source=web&rct=j&url=https://www.pjrc.com/teensy/K64P144M120SF5RM.pdf&ved=0ahUKEwii1YabkcrRAhVHD5AKHcw_Ai4QFgggMAE&usg=AFQjCNG3n8izN9FYRkglnYBFnIbsGBW1jA MK64FX512VLL12 –
特には何あなたはやっていることに問題がありますデータシートが作成するステップは明らかです(いくつかのレジスタを書いて、他のものを読んでください)。どのような手順で問題が発生していますか?データシートのメモによると、OREG_LVLは0x4002_9004のRNG_SRにあります。0x4002_900CのRNG_ORはRANDOUT ... – Ross