) \% E! I% n; a) ~; S5 E HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(12)) = (PINMUX12_RESET_ENABLE | PINMUX12_CONVST_ENABLE | PINMUX12_RD_ENABLE | PINMUX12_BUSY_C_ENABLE | savePinMux);, O1 `" b! j- q: n% B; {
( ] r! H& B! Z# z& w6 K
} , J6 _- P. _8 X7 [( M: R/ o7 A 6 Y( N. ]# z, s : Q$ }6 j! m) e! X; v+ Dstatic void ad7606_gpio_setup(ad7606 *ad) { 5 T1 Z: R9 k; O2 v /*Set the AD7606_PAR_BUSY to the input mode*/ # P8 U3 Q# b7 s# ?4 A# S) k //初始化5.11、5.9 、 5.5为中断口& e4 l, g- C0 g4 f" o5 w$ ^" T
GPIODirModeSet(SOC_GPIO_0_REGS, AD7606_PAR_BUSY_V1, GPIO_DIR_INPUT); & Q: U1 j+ B% ]# k0 r GPIODirModeSet(SOC_GPIO_0_REGS, AD7606_PAR_BUSY_V2, GPIO_DIR_INPUT);( s8 j+ F. X( H$ H$ I
GPIODirModeSet(SOC_GPIO_0_REGS, AD7606_PAR_BUSY_C, GPIO_DIR_INPUT);* U# t" o7 x# n6 Y: @9 r/ r
//GPIODirModeSet(SOC_GPIO_0_REGS, AD7606_PAR_BUSY, GPIO_DIR_INPUT); 7 X' G, a+ D9 j/ z8 L/ g /*Set the AD7606_PAR_BUSY to the Falling Edge Interrupt*/7 [' B( ]* r! n# {7 q- `. n, m
GPIOIntTypeSet(SOC_GPIO_0_REGS, AD7606_PAR_BUSY_V1, GPIO_INT_TYPE_FALLEDGE); 4 T' D( a( Z0 P- o; y7 y GPIOIntTypeSet(SOC_GPIO_0_REGS, AD7606_PAR_BUSY_V2, GPIO_INT_TYPE_FALLEDGE);& c# X$ e& j; d- P2 V& d
GPIOIntTypeSet(SOC_GPIO_0_REGS, AD7606_PAR_BUSY_C, GPIO_INT_TYPE_FALLEDGE);3 ]/ c) x& B' X
//GPIOIntTypeSet(SOC_GPIO_0_REGS, AD7606_PAR_BUSY, GPIO_INT_TYPE_FALLEDGE); ! F3 ^4 e' x. q) i* O$ y5 u /*The interrupt setting allows AD7606_PAR_BUSY_GPIO_BANK*/ 0 y! p" ?7 o, v GPIOBankIntEnable(SOC_GPIO_0_REGS, AD7606_PAR_BUSY_GPIO_BANK); $ e% F v) f0 R7 N& v. a' f/ y) Y/ O$ p7 n" n% R" \
GPIODirModeSet(SOC_GPIO_0_REGS, AD7606_PAR_RESET, GPIO_DIR_OUTPUT); Q' O3 h+ |* A @# M GPIOPinWrite(SOC_GPIO_0_REGS, AD7606_PAR_RESET, GPIO_PIN_HIGH);! T; }- ` D8 o* l
Task_sleep(1000);5 F5 v) c2 I6 Y
GPIOPinWrite(SOC_GPIO_0_REGS, AD7606_PAR_RESET, GPIO_PIN_LOW);$ u& T# B1 T7 Q) t6 z; p% d
Task_sleep(1000);6 Z* j; y% m9 t
# f3 c% E* p E* f! T /*Set the AD7606_PAR_CONVST to output mode*/ : i- M/ j% y! z; U- a7 s GPIODirModeSet(SOC_GPIO_0_REGS, AD7606_PAR_CONVST, GPIO_DIR_OUTPUT); : o; h0 h7 e0 ?6 h4 X# o: H GPIOPinWrite(SOC_GPIO_0_REGS, AD7606_PAR_CONVST, GPIO_PIN_LOW);- z; s2 g2 Z7 ], q5 P' h j" f
+ {. r- g5 }7 T+ d9 Y2 N, y% g GPIODirModeSet(SOC_GPIO_0_REGS, AD7606_PAR_RD, GPIO_DIR_OUTPUT); # E% ^1 {. P/ m GPIOPinWrite(SOC_GPIO_0_REGS, AD7606_PAR_RD, GPIO_PIN_HIGH);. F3 V) m0 K2 v: a
& L& ?% |, g; M! Q
}1 P, a2 |& D y( H: p$ |$ p% P
7 k ?) S, t9 I8 D- n $ Y- W1 O0 y% }* g$ Hstatic void ad7606_busy_hwi(UArg ad_addr) {$ _: v5 Q- k1 a: {! q# b
- @8 q% h/ Y4 a' Y4 c- _0 u, _) x! Z2 _6 X# j2 f
/* Disable the interrupts for pins of bank AD7606_PAR_BUSY in GPIO.*/8 X7 ] ~/ S3 H: c# X2 x2 g- w
GPIOBankIntDisable(SOC_GPIO_0_REGS, AD7606_PAR_BUSY_GPIO_BANK); //用仿真器debug,发现程序能进入这里。9 _& z( Y: O! G8 W% E( d5 n