twl_mcu/Port.c
2024-12-17 04:24:29 -05:00

35 lines
1.3 KiB
C

#include "macrodriver.h"
#include "Port.h"
#include "user_define.h"
//*****************************************************************************
void PORT_Init( void ){
PU1 = PUn0_PULLUP_ON | PUn1_PULLUP_ON | PUn3_PULLUP_ON | PUn4_PULLUP_ON;
PM0 = PMn0_MODE_INPUT | PMn1_MODE_INPUT;
PM1 = PMn0_MODE_INPUT | PMn1_MODE_INPUT | PMn2_MODE_INPUT | PMn3_MODE_INPUT | PMn4_MODE_INPUT | PMn5_MODE_OUTPUT | PMn6_MODE_OUTPUT | PMn7_MODE_OUTPUT;
PM2 = PMn0_MODE_OUTPUT| PMn1_MODE_INPUT | PMn2_MODE_OUTPUT | PMn3_MODE_INPUT;
PM3 = PMn0_MODE_INPUT | PMn1_MODE_INPUT | PMn2_MODE_INPUT | PMn3_MODE_INPUT;
PM12= PMn0_MODE_INPUT | PMn1_MODE_OUTPUT | PMn2_MODE_INPUT;
P0 = Pn1_OUTPUT_0;
P1 = Pn2_OUTPUT_1 | Pn5_OUTPUT_0 | Pn6_OUTPUT_0 | Pn7_OUTPUT_0;
P2 = Pn1_OUTPUT_0 | Pn2_OUTPUT_0 | Pn3_OUTPUT_0;
P3 = Pn1_OUTPUT_0 | Pn2_OUTPUT_0 | Pn3_OUTPUT_0;
//P6 はIICの初期化コード内でポートモード設定します。
P12 = Pn0_OUTPUT_1 | Pn1_OUTPUT_0 | Pn2_OUTPUT_0;
// 上りエッジで割り込み (for wifi)...
EGP = 0x0C;
// MK0L &= ~0x18; // マスクはしたまま。フラグを立てるだけ。ラッチです。非同期で短パルスを捕まえる
#ifndef after_x6 // X6で回路変更があったため。
IS_led_cam = 0; // X6以前の旧回路
IS_led_cam_mode = 0; // X6以前の旧回路 (P0.1)
#endif
}