STM 32学習ノート4——IO読み出し操作
1445 ワード
このブログはSTM 32勉强がばらばらだった记录です。
STM 32出力ポートレベルの読み出し方法
if(GPIOC->IDR& GPIO_IDR_IDR13)
{
;
}
PC 13ポートがハイレベルである場合、if条件は真である.PC 13ポートが低レベルの場合、if条件は偽である. if((~GPIOC->IDR)& GPIO_IDR_IDR13)
{
;
}
解析:まず&GPIO_IDR_IDRは、PC 13以外の他のPCポートを遮断する.PC 13がハイレベルである場合、GPIO-〉IDRのbit 2は‘1’であり、逆取り後は‘0’であるため、条件は偽である.PC 13が低レベルである場合、GPIO-〉IDRのbit 2は「0」であり、逆取り後は「1」であるため、条件は真である.この方法により、PC 13またはPC 14(さらに多くのPEポート)が低レベル(例えば、キーが押下される)であるか否かを同時に判断することができる
③複数ポートにローレベルがあるかどうかを判断する:
if((~GPIOC->IDR)& (GPIO_IDR_IDR13 | GPIO_IDR_IDR14))
{
;
}
解析:まず、PC 13およびPC 14以外の他のPCポートを&(GPIO_IDR 13|GPIO_IDR 14)によって遮断する.PC 13または(および)PC 14が低レベルである場合、GPIO-〉IDRのbit 13または(および)bit 14は「0」であり、逆取り後は「1」であるため、条件は真である.
注意:この方法はstm 32 IOポートの状態を判断するための最良の方法ではなく、最も直接的な方法ではありませんが、ビット操作を理解するのに役立ちます.
リファレンスリンク
https://blog.csdn.net/dddxxxx/article/details/77374815 https://blog.csdn.net/dzihui/article/details/46514387 https://blog.csdn.net/qq_37286676/article/details/86517241