初始化是這樣的:
void
EPIinit(void)
{
SysCtlClockSet(SYSCTL_SYSDIV_4|
SYSCTL_USE_PLL|
SYSCTL_OSC_MAIN|
SYSCTL_XTAL_25MHZ);
SysCtlPeripheralEnable(SYSCTL_PERIPH_EPI0);
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOA);
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOB);
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOC);
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOG);
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOH);
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOK);
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOL);
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOM);
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPION);
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOQ);
GPIOPinConfigure(GPIO_PA6_EPI0S8);
GPIOPinConfigure(GPIO_PA7_EPI0S9);
GPIOPinConfigure(GPIO_PB2_EPI0S27);
GPIOPinConfigure(GPIO_PB3_EPI0S28);
GPIOPinConfigure(GPIO_PC4_EPI0S7);
GPIOPinConfigure(GPIO_PC5_EPI0S6);
GPIOPinConfigure(GPIO_PC6_EPI0S5);
GPIOPinConfigure(GPIO_PC7_EPI0S4);
GPIOPinConfigure(GPIO_PG0_EPI0S11);
GPIOPinConfigure(GPIO_PG1_EPI0S10);
GPIOPinConfigure(GPIO_PH0_EPI0S0);
GPIOPinConfigure(GPIO_PH1_EPI0S1);
GPIOPinConfigure(GPIO_PH2_EPI0S2);
GPIOPinConfigure(GPIO_PH3_EPI0S3);
GPIOPinConfigure(GPIO_PK4_EPI0S32);
GPIOPinConfigure(GPIO_PK5_EPI0S31);
GPIOPinConfigure(GPIO_PK6_EPI0S25);
GPIOPinConfigure(GPIO_PK7_EPI0S24);
GPIOPinConfigure(GPIO_PL0_EPI0S16);
GPIOPinConfigure(GPIO_PL1_EPI0S17);
GPIOPinConfigure(GPIO_PL2_EPI0S18);
GPIOPinConfigure(GPIO_PL3_EPI0S19);
GPIOPinConfigure(GPIO_PL4_EPI0S26);
GPIOPinConfigure(GPIO_PL5_EPI0S33);
GPIOPinConfigure(GPIO_PM0_EPI0S15);
GPIOPinConfigure(GPIO_PM1_EPI0S14);
GPIOPinConfigure(GPIO_PM2_EPI0S13);
GPIOPinConfigure(GPIO_PM3_EPI0S12);
GPIOPinConfigure(GPIO_PN2_EPI0S29);
GPIOPinConfigure(GPIO_PN3_EPI0S30);
GPIOPinConfigure(GPIO_PN4_EPI0S34);
GPIOPinConfigure(GPIO_PN5_EPI0S35);
GPIOPinConfigure(GPIO_PQ0_EPI0S20);
GPIOPinConfigure(GPIO_PQ1_EPI0S21);
GPIOPinConfigure(GPIO_PQ2_EPI0S22);
GPIOPinConfigure(GPIO_PQ3_EPI0S23);
GPIOPinTypeEPI(GPIO_PORTH_BASE,GPIO_PIN_0); //D0 --- EPIOS0
GPIOPinTypeEPI(GPIO_PORTH_BASE,GPIO_PIN_1); //D1 --- EPIOS1
GPIOPinTypeEPI(GPIO_PORTH_BASE,GPIO_PIN_2); //D2 --- EPIOS2
GPIOPinTypeEPI(GPIO_PORTH_BASE,GPIO_PIN_3); //D3 --- EPIOS3
GPIOPinTypeEPI(GPIO_PORTC_BASE,GPIO_PIN_7); //D4 --- EPIOS4
GPIOPinTypeEPI(GPIO_PORTC_BASE,GPIO_PIN_6); //D5 --- EPIOS5
GPIOPinTypeEPI(GPIO_PORTC_BASE,GPIO_PIN_5); //D6 --- EPIOS6
GPIOPinTypeEPI(GPIO_PORTC_BASE,GPIO_PIN_4); //D7 --- EPIOS7
GPIOPinTypeEPI(GPIO_PORTA_BASE,GPIO_PIN_6); //D8 --- EPIOS8
GPIOPinTypeEPI(GPIO_PORTA_BASE,GPIO_PIN_7); //D9 --- EPIOS9
GPIOPinTypeEPI(GPIO_PORTG_BASE,GPIO_PIN_1 ); //D10 --- EPIOS10
GPIOPinTypeEPI(GPIO_PORTG_BASE,GPIO_PIN_0 ); //D11 --- EPIOS11
GPIOPinTypeEPI(GPIO_PORTM_BASE,GPIO_PIN_3 ); //D12 --- EPIOS12
GPIOPinTypeEPI(GPIO_PORTM_BASE,GPIO_PIN_2); //D13 --- EPIOS13
GPIOPinTypeEPI(GPIO_PORTM_BASE,GPIO_PIN_1); //D14 --- EPIOS14
GPIOPinTypeEPI(GPIO_PORTM_BASE,GPIO_PIN_0 ); //D15 --- EPIOS15
GPIOPinTypeEPI(GPIO_PORTL_BASE,GPIO_PIN_0 ); //A0 --- EPIOS16
GPIOPinTypeEPI(GPIO_PORTL_BASE,GPIO_PIN_1 ); //A1 --- EPIOS17
GPIOPinTypeEPI(GPIO_PORTL_BASE,GPIO_PIN_2); //A2 --- EPIOS18
GPIOPinTypeEPI(GPIO_PORTL_BASE,GPIO_PIN_3 ); //A3 --- EPIOS19
GPIOPinTypeEPI(GPIO_PORTQ_BASE,GPIO_PIN_0 ); //A4 --- EPIOS20
GPIOPinTypeEPI(GPIO_PORTQ_BASE,GPIO_PIN_1 ); //A5 --- EPIOS21
GPIOPinTypeEPI(GPIO_PORTQ_BASE,GPIO_PIN_2 ); //A6 --- EPIOS22
GPIOPinTypeEPI(GPIO_PORTQ_BASE,GPIO_PIN_3 ); //A7 --- EPIOS23
GPIOPinTypeEPI(GPIO_PORTK_BASE,GPIO_PIN_7); //A8 --- EPIOS24
GPIOPinTypeEPI(GPIO_PORTK_BASE,GPIO_PIN_6); //A9 --- EPIOS25
GPIOPinTypeEPI(GPIO_PORTL_BASE,GPIO_PIN_4 ); //A10 --- EPIOS26
GPIOPinTypeEPI(GPIO_PORTB_BASE,GPIO_PIN_2 ); //A11 --- EPIOS27
GPIOPinTypeEPI(GPIO_PORTB_BASE,GPIO_PIN_3 ); //WR --- EPIOS28
GPIOPinTypeEPI(GPIO_PORTN_BASE,GPIO_PIN_2 ); //RD --- EPIOS29
GPIOPinTypeEPI(GPIO_PORTN_BASE,GPIO_PIN_3 ); //Frame --- EPIOS30
GPIOPinTypeEPI(GPIO_PORTK_BASE,GPIO_PIN_5); //CLK --- EPIOS31
GPIOPinTypeEPI(GPIO_PORTK_BASE,GPIO_PIN_4); //iRDY--- EPIOS32
// GPIOPinTypeEPI(GPIO_PORTL_BASE,GPIO_PIN_5 ); //CS3n --- EPIOS33
// GPIOPinTypeEPI(GPIO_PORTN_BASE,GPIO_PIN_4); //CS2n --- EPIOS34
// GPIOPinTypeEPI(GPIO_PORTN_BASE,GPIO_PIN_5); //CRE --- EPIOS35
EPIModeSet(EPI0_BASE,EPI_MODE_GENERAL); //general mode
EPIConfigGPModeSet(EPI0_BASE,
EPI_GPMODE_DSIZE_16|
EPI_GPMODE_ASIZE_12|
EPI_GPMODE_FRAME50|
EPI_GPMODE_CLKPIN|
EPI_GPMODE_WRITE2CYCLE,
0,
0);
EPIAddressMapSet(EPI0_BASE,
EPI_ADDR_PER_BASE_NONE|
EPI_ADDR_RAM_BASE_NONE);
EPIFIFOConfig(EPI0_BASE,EPI_FIFO_CONFIG_RX_3_4);
EPIDividerSet(EPI0_BASE, 10); //EPIclk ---> 0-sysclk, 1-1/2sysclk, 3-1/4sysclk
EPIIntEnable(EPI0_BASE,EPI_INT_RXREQ);
IntEnable(INT_EPI0);
IntPrioritySet(INT_EPI0,0);
IntMasterEnable();
EPINonBlockingReadConfigure(EPI0_BASE,0,EPI_NBCONFIG_SIZE_16,0);
// EPINonBlockingReadStart(EPI0_BASE,0,544);
}
void epi_test(void)
{
int *buf;
int count = 10;
int i ;
uint32_t data =0;
EPIinit();
HWREG(0x05A5) = 0x55;
}
EPIAddressMapSet()這個函式,資料上寫了是對總線模式下用來給cs映射地址用,那么是不是通用模式就不需要映射地址。
那我直接在0x05a5里面寫數,是不是就可以了,讀操作要怎么操作?麻煩各位大神指導一下。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/65826.html
標籤:驅動開發/核心開發
