#define EPI_PORTB_PINS (GPIO_PIN_5 | GPIO_PIN_4) #define EPI_PORTC_PINS (GPIO_PIN_7 | GPIO_PIN_6 | GPIO_PIN_5 | GPIO_PIN_4) #define EPI_PORTD_PINS (GPIO_PIN_3 | GPIO_PIN_2) #define EPI_PORTE_PINS (GPIO_PIN_3 |GPIO_PIN_2 |GPIO_PIN_1 | GPIO_PIN_0) #define EPI_PORTF_PINS (GPIO_PIN_5 | GPIO_PIN_4) #define EPI_PORTG_PINS (GPIO_PIN_7 | GPIO_PIN_1 | GPIO_PIN_0) #define EPI_PORTH_PINS (GPIO_PIN_5 | GPIO_PIN_4 | GPIO_PIN_3 | GPIO_PIN_2 | \ GPIO_PIN_1 | GPIO_PIN_0) #define EPI_PORTJ_PINS (GPIO_PIN_6 |GPIO_PIN_5 | GPIO_PIN_4 | GPIO_PIN_3 | \ GPIO_PIN_2 | GPIO_PIN_1 | GPIO_PIN_0) void epi_test(void) { // // The EPI0 peripheral must be enabled for use. // 使能EPI接口 SysCtlPeripheralEnable(SYSCTL_PERIPH_EPI0);
// // 使能各个使用的IO口 // SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOB); SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOC); SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOD); SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOE); SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF); SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOG); SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOH); SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOJ);
GPIOPinConfigure(GPIO_PH3_EPI0S0); GPIOPinConfigure(GPIO_PH2_EPI0S1); GPIOPinConfigure(GPIO_PC4_EPI0S2); GPIOPinConfigure(GPIO_PC5_EPI0S3); GPIOPinConfigure(GPIO_PC6_EPI0S4); GPIOPinConfigure(GPIO_PC7_EPI0S5); GPIOPinConfigure(GPIO_PH0_EPI0S6); GPIOPinConfigure(GPIO_PH1_EPI0S7); GPIOPinConfigure(GPIO_PE0_EPI0S8); GPIOPinConfigure(GPIO_PE1_EPI0S9); GPIOPinConfigure(GPIO_PH4_EPI0S10); GPIOPinConfigure(GPIO_PH5_EPI0S11); GPIOPinConfigure(GPIO_PF4_EPI0S12); GPIOPinConfigure(GPIO_PG0_EPI0S13); GPIOPinConfigure(GPIO_PG1_EPI0S14); GPIOPinConfigure(GPIO_PF5_EPI0S15); GPIOPinConfigure(GPIO_PJ0_EPI0S16); GPIOPinConfigure(GPIO_PJ1_EPI0S17); GPIOPinConfigure(GPIO_PJ2_EPI0S18); GPIOPinConfigure(GPIO_PJ3_EPI0S19); GPIOPinConfigure(GPIO_PD2_EPI0S20); GPIOPinConfigure(GPIO_PD3_EPI0S21); GPIOPinConfigure(GPIO_PB5_EPI0S22); GPIOPinConfigure(GPIO_PB4_EPI0S23); GPIOPinConfigure(GPIO_PE2_EPI0S24); GPIOPinConfigure(GPIO_PE3_EPI0S25); GPIOPinConfigure(GPIO_PJ4_EPI0S28); GPIOPinConfigure(GPIO_PJ5_EPI0S29); GPIOPinConfigure(GPIO_PJ6_EPI0S30); GPIOPinConfigure(GPIO_PG7_EPI0S31);
// // Configure the GPIO pins for EPI mode. All the EPI pins require 8mA // drive strength in push-pull operation. This step also gives control of // pins to the EPI module. // GPIOPinTypeEPI(GPIO_PORTB_BASE, EPI_PORTB_PINS); GPIOPinTypeEPI(GPIO_PORTC_BASE, EPI_PORTC_PINS); GPIOPinTypeEPI(GPIO_PORTE_BASE, EPI_PORTE_PINS); GPIOPinTypeEPI(GPIO_PORTF_BASE, EPI_PORTF_PINS); GPIOPinTypeEPI(GPIO_PORTG_BASE, EPI_PORTG_PINS); GPIOPinTypeEPI(GPIO_PORTH_BASE, EPI_PORTH_PINS); GPIOPinTypeEPI(GPIO_PORTJ_BASE, EPI_PORTJ_PINS);
// // Sets the clock divider for the EPI module. In this case set the // divider to 0, making the EPIClock = SysClk. EPIDividerSet(EPI0_BASE, 0);
// // Sets the usage mode of the EPI module. EPI_MODE_HB8 // EPIModeSet(EPI0_BASE, EPI_MODE_HB8);
// set // 使用相同波特率地址数据不复用 cs信号 字节读取 EPIConfigHB8Set(EPI0_BASE, EPI_HB8_MODE_ADDEMUX | EPI_HB8_WRWAIT_1 | EPI_HB8_RDWAIT_1 | EPI_HB8_CSCFG_CS, 0); // 映射到片外外设地址0xA000 0000 EPIAddressMapSet(EPI0_BASE, EPI_ADDR_PER_SIZE_256B | EPI_ADDR_PER_BASE_A); g_pusEPIPER = (unsigned char *)0xA0000000; 初始化完毕 然后就可以使用读写数据了 如:g_pusEPIPER[0] = 0xff; 表示向外设地址0处写ff temp = g_pusEPIPER[0];表示读地址0处的值 }
|