<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > LM3S9B96的EPI總線的HB8模式配置

          LM3S9B96的EPI總線的HB8模式配置

          作者: 時(shí)間:2016-11-11 來源:網(wǎng)絡(luò) 收藏
          下面是EPI的HB8模式的例子:

          本文引用地址:http://www.ex-cimer.com/article/201611/317014.htm

          /* Includes -----------------------------------------*/

          #include"inc/hw_memmap.h"
          #include"inc/hw_types.h"
          #include"driverlib/gpio.h"
          #include"driverlib/sysctl.h"
          #include"driverlib/epi.h"
          /* Private variables ------------------------------*/
          unsignedchartemp;
          /*********************************************
          *
          * Use the following to specify the GPIO pins used by the HB8 EPI bus.
          *
          ***********************************************/
          #defineEPI_PORTC_PINS(GPIO_PIN_7|GPIO_PIN_6|GPIO_PIN_5|GPIO_PIN_4)
          #defineEPI_PORTD_PINS(GPIO_PIN_3|GPIO_PIN_2)
          #defineEPI_PORTE_PINS(GPIO_PIN_1|GPIO_PIN_0)
          #defineEPI_PORTF_PINS(GPIO_PIN_5|GPIO_PIN_4)
          #defineEPI_PORTG_PINS(GPIO_PIN_7|GPIO_PIN_1|GPIO_PIN_0)
          #defineEPI_PORTH_PINS(GPIO_PIN_5|GPIO_PIN_4|GPIO_PIN_3|GPIO_PIN_2|
          GPIO_PIN_1|GPIO_PIN_0)
          #defineEPI_PORTJ_PINS(GPIO_PIN_6|GPIO_PIN_5|GPIO_PIN_4|GPIO_PIN_3|
          GPIO_PIN_2|GPIO_PIN_1|GPIO_PIN_0)
          /********************************************************
          *
          * A pointer to the EPI Peripheral. Note that g_pusEPIPER is declared
          * as volatile so the compiler should not optimize reads out of the image.
          *
          **********************************************************/
          staticvolatileunsignedshort*g_pusEPIPER;
          /**********************************************************
          * Function Name : main
          * Description : Main program.
          * Input : None
          * Output : None
          * Return : None
          ***********************************************************/
          intmain(void)
          {
          // Set the clocking to run directly from the external crystal/oscillator
          SysCtlClockSet(SYSCTL_SYSDIV_1 | SYSCTL_USE_OSC | SYSCTL_OSC_MAIN |
          SYSCTL_XTAL_16MHZ);
          // The EPI0 peripheral must be enabled for use
          SysCtlPeripheralEnable(SYSCTL_PERIPH_EPI0);
          // For this example EPI0 is used with multiple pins on PortC, E, F, G, H, and J
          SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOC);
          SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOE);
          SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF);
          SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOG);
          SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOH);
          SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOJ);
          // configures the internal pin muxes to set the EPI pins for use with EPI
          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
          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);
          // 使用相同波特率 地址數(shù)據(jù)不復(fù)用 cs信號(hào) 字節(jié)讀取
          EPIConfigHB8Set(EPI0_BASE, EPI_HB8_MODE_ADDEMUX | EPI_HB8_WRWAIT_1 |
          EPI_HB8_RDWAIT_1 | EPI_HB8_CSCFG_CS, 0);
          // 映射到片外外設(shè)地址0xA000 0000
          EPIAddressMapSet(EPI0_BASE, EPI_ADDR_PER_SIZE_256B | EPI_ADDR_PER_BASE_A);
          g_pusEPIPER = (unsigned short *)0xA0000000;
          // 初始化完畢,就可以使用讀寫數(shù)據(jù)了
          g_pusEPIPER[0] = 0xff; // 表示向外設(shè)地址0處寫ff
          temp = g_pusEPIPER[0]; // 表示讀地址0處的值
          }

          僅供參考!


          關(guān)鍵詞: LM3S9B96EPI總線HB8模式配

          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();