ホーム › フォーラム › Texas Instruments › その他 › SysCtlPeripheralDisable()について
このトピックには3件の返信が含まれ、2人の参加者がいます。4 年、 4 ヶ月前に kitade さんが最後の更新を行いました。
-
投稿者投稿
-
SysCtlPeripheralDisable()について
デバイス型番:TM4C1233H6PZIMDK-ARM 5.1.0.0でTiva_Wareを使用し開発を行っています。
マイコンの使用するポートが3ポートしかありません。
電流節約と安全の為、残りは入力に設定しプルアップする事を考えています。
マニュアルを見ていると、SysCtlPeripheralDisable()というAPIがありました。
入力設定→プルアップする代わりに、ポート自体をdisableする事により、同じ様な効果が得られるでしょうか?
Disableとはポートがオープンになるという事でしょうか?kitade様
お世話になっております。
指定したペリフェラルのレジスタのリード・ライトに対して応答・動作しなくなります。
詳細は下記ドキュメントの509ページをご確認いただければと思います。
レジスタの操作に対してのDisableとなりますので、入力設定・プルアップ設定は別途必要なものと
考えます。
下記ソフトウェアからAPIのソースコードも確認いただければと思います。
TivaWare_C_Series-2.2.0.295\driverlib
こちらを確認しますと、RCGCGPIOレジスタの設定が行われているようです。
こちらのレジスタの詳細は下記327ページをご確認いただければと思います。
以上、参考になれば幸いです。
uchidaK
- この返信は4 年、 4 ヶ月前に uchidaK さんが編集しました。
回答、ありがとうございました。
入力に設定し、プルアップするには、以下の手順で良いでしょうか?
// PA0を入力にしプルアップする
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOA);
GPIOPinTypeGPIOInput(GPIO_PORTA_BASE, GPIO_PIN_0);
GPIOPadConfigSet(GPIO_PORTA_BASE, GPIO_PIN_0, GPIO_STRENGTH_4MA,GPIO_PIN_TYPE_STD_WPU);APIでは、uint32_t ui32Strengthで強度設定をしていますが、入力ポートには関係ないので、
何を設定してもOKと考えて良いでしょうか?kitade様
お世話になっております。
頂いた内容の手順で、PA0を入力、プルアップに設定することができると考えます。
下記データシート640ページ10.3章にGPIOの設定手順が記載されておりますので、ご確認いただければと思います。
https://www.tij.co.jp/jp/lit/ds/symlink/tm4c1233h6pz.pdf
GPIOPadConfigSetの説明については、下記267ページに記載がございますので、ご確認いただければと思います。
https://www.tij.co.jp/jp/lit/ug/spmu298e/spmu298e.pdf
パッドで記述されたと通りに設定は行われるが、実際に影響するのはプルアップ/プルダウンなどの終端の設定のみとの記載がございます。
以上、よろしくお願いいたします。
uchidaK
ありがとうございました。
-
投稿者投稿