出力ポートを,オープンドレインまたはプッシュプルに設定するグローバル関数の使用例. Example of global functions for setting the output port bits as open-drain or push-pull.
Dependencies: mbed UIT_SetOutputPortType
main.cpp@0:09d27b602681, 2015-08-22 (annotated)
- Committer:
- MikamiUitOpen
- Date:
- Sat Aug 22 03:05:33 2015 +0000
- Revision:
- 0:09d27b602681
- Child:
- 1:5bf39be14d61
1
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
MikamiUitOpen | 0:09d27b602681 | 1 | //--------------------------------------------------------------------------------- |
MikamiUitOpen | 0:09d27b602681 | 2 | // 出力ポートを,オープンドレインまたはプッシュプルに設定するグローバル関数の使用例 |
MikamiUitOpen | 0:09d27b602681 | 3 | // (Example of global functions for setting the output port bit |
MikamiUitOpen | 0:09d27b602681 | 4 | // as open-drain or push-pull) |
MikamiUitOpen | 0:09d27b602681 | 5 | // |
MikamiUitOpen | 0:09d27b602681 | 6 | // 2015/08/22, Copyright (c) 2015 MIKAMI, Naoki |
MikamiUitOpen | 0:09d27b602681 | 7 | //--------------------------------------------------------------------------------- |
MikamiUitOpen | 0:09d27b602681 | 8 | |
MikamiUitOpen | 0:09d27b602681 | 9 | #include "SetOutputPortType.hpp" |
MikamiUitOpen | 0:09d27b602681 | 10 | using namespace Mikami; |
MikamiUitOpen | 0:09d27b602681 | 11 | |
MikamiUitOpen | 0:09d27b602681 | 12 | BusOut bus_(D2, D3, D4, D5, D6, D7, D8); |
MikamiUitOpen | 0:09d27b602681 | 13 | DigitalIn uButton_(USER_BUTTON); |
MikamiUitOpen | 0:09d27b602681 | 14 | |
MikamiUitOpen | 0:09d27b602681 | 15 | // ユーザ・ボタン(青のボタン)を押すまで待つ関数 |
MikamiUitOpen | 0:09d27b602681 | 16 | void WaitButton(char str[]) |
MikamiUitOpen | 0:09d27b602681 | 17 | { |
MikamiUitOpen | 0:09d27b602681 | 18 | printf(str); |
MikamiUitOpen | 0:09d27b602681 | 19 | printf("\r\nPush blue button"); |
MikamiUitOpen | 0:09d27b602681 | 20 | while (uButton_ == 1) {} |
MikamiUitOpen | 0:09d27b602681 | 21 | wait(0.5); |
MikamiUitOpen | 0:09d27b602681 | 22 | } |
MikamiUitOpen | 0:09d27b602681 | 23 | |
MikamiUitOpen | 0:09d27b602681 | 24 | int main() |
MikamiUitOpen | 0:09d27b602681 | 25 | { |
MikamiUitOpen | 0:09d27b602681 | 26 | // MODER I/O ポートを,入力/汎用出力/代替え機能/アナログに設定するレジスタ |
MikamiUitOpen | 0:09d27b602681 | 27 | // PUPDR I/O ポートを,プルアップ,プルダウン,プルアップ・プルダウンなしに設定するレジスタ |
MikamiUitOpen | 0:09d27b602681 | 28 | // OTYPER 出力のタイプをプッシュプル/オープンドレインに設定するレジスタ |
MikamiUitOpen | 0:09d27b602681 | 29 | printf("\r\n\nGPIOB mode Reg.: 0x%08x", GPIOB->MODER); |
MikamiUitOpen | 0:09d27b602681 | 30 | printf("\r\nGPIOB pull-up/pull-down Reg.: 0x%08x", GPIOB->PUPDR); |
MikamiUitOpen | 0:09d27b602681 | 31 | |
MikamiUitOpen | 0:09d27b602681 | 32 | bus_ = 0x7F; |
MikamiUitOpen | 0:09d27b602681 | 33 | SetOpenDrain(D2, D3, D4, D5, D6, D7, D8); |
MikamiUitOpen | 0:09d27b602681 | 34 | WaitButton("\r\n\nD2 - D8: open drain"); |
MikamiUitOpen | 0:09d27b602681 | 35 | printf("\r\nGPIOB pull-up/pull-down Reg.: 0x%04x", GPIOB->OTYPER); |
MikamiUitOpen | 0:09d27b602681 | 36 | |
MikamiUitOpen | 0:09d27b602681 | 37 | SetPushPull(D2, D3, D4, D5, D6, D7, D8); |
MikamiUitOpen | 0:09d27b602681 | 38 | WaitButton("\r\nD2 - D8: push-pull"); |
MikamiUitOpen | 0:09d27b602681 | 39 | SetOpenDrain(D2); |
MikamiUitOpen | 0:09d27b602681 | 40 | WaitButton("\r\nD2: open drain"); |
MikamiUitOpen | 0:09d27b602681 | 41 | |
MikamiUitOpen | 0:09d27b602681 | 42 | SetOpenDrain(D3, D4); |
MikamiUitOpen | 0:09d27b602681 | 43 | printf("\r\nD2 - D4: open drain"); |
MikamiUitOpen | 0:09d27b602681 | 44 | |
MikamiUitOpen | 0:09d27b602681 | 45 | while (true); |
MikamiUitOpen | 0:09d27b602681 | 46 | } |