« ラズパイ・ピコをArduino IDEで動かそうとしたけど | トップページ | ラズパイ・ピコのmillisとmicros、なぜか遅い!? »

2022年4月 4日 (月)

ラズパイ・ピコのポートを高速でH/L

ラズパイ・ピコをArduino IDEで動かそうとしたけど では、
digitalWriteでのパルス出力を試しています。
H/Lして1パルスを出すのに、Hに0.5us、Lに0.5us
1パルスが1usほどでしょうか。

※関連

Arduinoのタイマー処理
Arduino UNOのdigitalWriteだとH/L1パルスが10usほどかかります。

トラ技ARMライタ、初通電
  ↑
 これはさすがに高速です

ラズパイ・ピコでの最高速パルスがこんな感じになりました。

A11_20220404112201

GPIO-2の立ち下がりを拡大。
A12_20220404112201

133MHzクロックで、GPIOのモードが「SIO : Single-cyc I/O」と
いうことで、所持しているデジタルオシロの帯域を越えていてパルスが
方形波に見えません。。

そのスケッチ。 (パルス出力部だけ)

      else{       // 1秒経過しない時
gpio_put(2, HIGH); // 2 H
digitalWrite(3, HIGH); // 3 H/L
digitalWrite(3, LOW);
gpio_put(3, HIGH); // 3 H/L
gpio_put(3, LOW);
gpio_put(3, HIGH); // 3 H/L
gpio_put(3, LOW);
gpio_put(2, LOW); // 2 L
}
}

GPIO-2をHにしてから、GPIO-3に対し、digitalWrite()での
H/L1パルスと、gpio_put()でのパルスを2つ。
そしてGPIO-2をLに。

digitalWrite()だと、HしてLになるのが1usほど。
それがgpio_put()にすると、HしてLで15ns。
さすが、「SIO : Single-cyc I/O」です。

|

« ラズパイ・ピコをArduino IDEで動かそうとしたけど | トップページ | ラズパイ・ピコのmillisとmicros、なぜか遅い!? »

ラズパイ・ピコ」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




« ラズパイ・ピコをArduino IDEで動かそうとしたけど | トップページ | ラズパイ・ピコのmillisとmicros、なぜか遅い!? »