I2C hang recover function added
Dependencies: UniGraphic mbed vt100
In this version, check_i2c_pins function was added in edge_mgr.cpp.
プログラムの起動時、I2Cモジュールを初期化する前に、I2Cに使用するピンの電位を確認し
もし一方でも Low に張り付いていた場合、SCL を GPIO 出力に設定して
所定回数 (I2C_UNLOCK_TRIAL_CYCLE) 反転させることにより、疑似リセットクロックを生成します。
その後は、通常の起動手順に復帰し、以降はこれまでと同様の動作をします。
edge_utils/edge_pin.h@0:d895cd1cd897, 2018-04-03 (annotated)
- Committer:
- Rhyme
- Date:
- Tue Apr 03 08:30:29 2018 +0000
- Revision:
- 0:d895cd1cd897
Initial I2C Pin force reset function added
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Rhyme | 0:d895cd1cd897 | 1 | #ifndef _EDGE_PIN_H_ |
Rhyme | 0:d895cd1cd897 | 2 | #define _EDGE_PIN_H_ |
Rhyme | 0:d895cd1cd897 | 3 | |
Rhyme | 0:d895cd1cd897 | 4 | #if defined (TARGET_KL25Z) |
Rhyme | 0:d895cd1cd897 | 5 | #define PIN_INTR PTD4 |
Rhyme | 0:d895cd1cd897 | 6 | #define PIN_ASR_RESET PTA13 |
Rhyme | 0:d895cd1cd897 | 7 | #define PIN_SCK PTD1 |
Rhyme | 0:d895cd1cd897 | 8 | #define PIN_MOSI PTD2 |
Rhyme | 0:d895cd1cd897 | 9 | #define PIN_MISO PTD3 |
Rhyme | 0:d895cd1cd897 | 10 | #define PIN_CS PTD0 |
Rhyme | 0:d895cd1cd897 | 11 | /* ILI9341 */ |
Rhyme | 0:d895cd1cd897 | 12 | #define PIN_CS_TFT PTC7 |
Rhyme | 0:d895cd1cd897 | 13 | #define PIN_RESET_TFT PTC4 |
Rhyme | 0:d895cd1cd897 | 14 | #define PIN_DC_TFT PTC0 |
Rhyme | 0:d895cd1cd897 | 15 | #define PIN_BL_TFT PTC3 |
Rhyme | 0:d895cd1cd897 | 16 | |
Rhyme | 0:d895cd1cd897 | 17 | #define PIN_FRDM_LEDR PTB18 |
Rhyme | 0:d895cd1cd897 | 18 | #define PIN_FRDM_LEDG PTB19 |
Rhyme | 0:d895cd1cd897 | 19 | #define PIN_FRDM_LEDB PTD1 /* conflict with SCK orz */ |
Rhyme | 0:d895cd1cd897 | 20 | /* on board I2C0 */ |
Rhyme | 0:d895cd1cd897 | 21 | // #define PIN_I2C0_SCL PTE24 |
Rhyme | 0:d895cd1cd897 | 22 | // #define PIN_I2C0_SDA PTE25 |
Rhyme | 0:d895cd1cd897 | 23 | /* external I2C0 */ |
Rhyme | 0:d895cd1cd897 | 24 | #define PIN_I2C0_SCL PTC8 |
Rhyme | 0:d895cd1cd897 | 25 | #define PIN_I2C0_SDA PTC9 |
Rhyme | 0:d895cd1cd897 | 26 | #define PIN_I2C1_SCL PTE1 |
Rhyme | 0:d895cd1cd897 | 27 | #define PIN_I2C1_SDA PTE0 |
Rhyme | 0:d895cd1cd897 | 28 | #define PIN_AN0 PTB0 |
Rhyme | 0:d895cd1cd897 | 29 | #define PIN_AN1 PTB1 |
Rhyme | 0:d895cd1cd897 | 30 | #define PIN_AN2 PTB2 |
Rhyme | 0:d895cd1cd897 | 31 | #define PIN_LED_R PTA5 |
Rhyme | 0:d895cd1cd897 | 32 | #define PIN_LED_G PTA4 |
Rhyme | 0:d895cd1cd897 | 33 | #define PIN_LED_B PTA12 |
Rhyme | 0:d895cd1cd897 | 34 | #define PIN_PRESS_EN PTC5 |
Rhyme | 0:d895cd1cd897 | 35 | #endif /* TARGET_KL25Z */ |
Rhyme | 0:d895cd1cd897 | 36 | |
Rhyme | 0:d895cd1cd897 | 37 | #endif /* _EDGE_PIN_H_ */ |