【周辺ゼロベース総合チュートリアル】GPIO

前回記事へのリンク:【Peripheral Zero-Basic General Tutorial】 GPIO については、主に動画を作る際に、前回の記事でいろいろな説があることを知りましたが、それらを分けた方が構造が明確で見やすくなります。

GPIO の入力と出力を定義していますが、ボタンと LED には、押された状態と押されていない状態、オンとオフの 2 つの状態があります。これをどのように表現すればよいでしょうか。


手順

GPIO 値

電子回路では、高電圧と低電圧の状態を記録するために 1 と 0 が使用されます。! !

#对于GPIO的输入,可以直接读取:

cs.value()  # 返回1或者0

#对于GPIO的输出,我们可以使用下面方法控制:

cs.high()    #设置高电平
cs(1)          # 1为高电平
cs.low()     #设置低电平
cs(0)          # 0为低电平

読み取り値を入力

たとえば、開発ボードにはボタンが押された後に値 1 が与えられ、開発ボードはこのステータスを受け取るとボタンが押されたことを認識します。
次に、押したときに読み取られる値は1 です実際には、単純な記録状態です。

出力設定値

この理解は簡単で、LED がハイレベル信号 1 を受信すると測定され、ローレベルが 0 の場合は消灯します。だから、このピンのハイとローの状態を設定するだけです〜

注:上記はGPIOの周辺ピンだけで、こうして理解できるのはIIC、SPIなど、このように理解されるかもしれません〜

GPIO 入出力アプリケーション

GPIO 入力アプリケーション

祖先の鍵

from pyb import Pin
#将 USR 按键-"X17"配置为输入方式
p_in = Pin('X17', Pin.IN, Pin.PULL_UP)
p_in.value()  

ここに画像の説明を挿入

GPIO出力アプリケーション

祖先の照明

from pyb import Pin

#将 LED(1)-"A13"配置成推挽输出模式
p_out=Pin('A13',Pin.OUT_PP)

#点亮 LED(1)红灯
p_out.high()  

ここに画像の説明を挿入
これで、簡単なボタン制御と LED ライト制御を直接行うことができます。〜それはそれと同じくらい簡単です。

ドキュメントの使用

前に述べたように、パッケージが異なるため、GPIO の書き方も異なります。そのため、ボードを購入する前に必ずドキュメントをお読みください。たとえば、micpython と maixpy は次のように GPIO を記述します (どちらも python です)。
ここに画像の説明を挿入

理論補足

出力方法

下図に示すように、GPIO の出力は、内部 MOS のオフの切り替えに関連しています。出力には 3 つの状態があることがわかります。
ここに画像の説明を挿入
ハイレベル、ローレベル、フローティング/ハイインピーダンス状態です。

喫煙状態は直接Gであり、この種の開発ボードを出荷したい場合、メーカーは殺されるべきではありません. ここでは、表示されない状況を参照してください。考慮しないでください。

プッシュプル出力

電子用語であるプッシュプル出力は、通常、高レベルと低レベルを出力し、デジタル デバイスに接続できるプッシュプル増幅回路に表示されます。プッシュプル構造とは、一般に、2 つの三極管が常に 1 つの 2 つの相補信号によって制御されることを意味します。トランジスタがオンのとき、もう一方はオフです。

ここに画像の説明を挿入
プッシュプルと呼ばれる高信号状態と低信号状態があります

VCC は電気、開発ボードの内部放電をセンサーにハイレベル
GND はグランド、開発ボードの内部放電、
つまりローレベル「大電流から低電力へ」を放電するのがセンサーです。引く」
はわかりやすい。

オープンドレイン出力

オープンドレイン出力、オープンドレイン回路の概念でいうドレインとは、MOS FETのドレインを指します。同様に、オープンコレクタ回路の「セット」は、三極管のコレクタを指します。オープンドレイン回路とは、MOS FETのドレインを出力とする回路のことです。

ここに画像の説明を挿入
低電力でフローティング/高抵抗状態のものは、オープンドレインと呼ばれます

上記の P-MOS はなくなったわけではありませんが、この状態の P-MOS とは関係ありませんので、見やすいように削除しました。
見てみると、現状はアース(GND)のみセンサーからしか給電できず、低レベル状態です。

N-MOSをオフにすると、無限抵抗(誰も電気を与えず、誰も動けない、つまり電流が動かないのと同じ)に等しいので、この状態では出力はローレベルでフローティング状態になります。 /ハイインピーダンス状態。

なぜ私たちがGPIO出力を毎日使用するのかを理解してください。定義されたプッシュプルモードです〜

おすすめ

転載: blog.csdn.net/weixin_45020839/article/details/130138244