Esempio n. 1
0
//*****************************************************************************
//
//! \brief System and PWM Initialize.
//!
//! \param None
//!
//! \note None.
//!
//! \return None.
//
//*****************************************************************************
void xSysCtlAndPwmInit(void)
{
    unsigned long i = 0;
    unsigned long ulBit = 0;
    //
    // Set System clock is 48M
    //
    xSysCtlClockSet(48000000, (xSYSCTL_OSC_MAIN | xSYSCTL_XTAL_12MHZ));

    //
    // Enable GPIO and PWM
    //
    xSysCtlPeripheralEnable(xSYSCTL_PERIPH_GPIOC);
    xSysCtlPeripheralEnable(xSYSCTL_PERIPH_GPIOC);
    xSysCtlPeripheralEnable(xSYSCTL_PERIPH_GPIOE);
    xSysCtlPeripheralEnable(xSYSCTL_PERIPH_GPIOE);
    xSysCtlPeripheralEnable(xSYSCTL_PERIPH_GPIOA);
    xSysCtlPeripheralEnable(xSYSCTL_PERIPH_GPIOA);

    xSysCtlPeripheralReset(xSYSCTL_PERIPH_PWMB);
    xSysCtlPeripheralEnable(xSYSCTL_PERIPH_PWMB);


    //
    // Set PE2(DIR_CLK), PD3(DIR_SER), and PA6(DIR_LATCH) PD2(DIR_EN) as output
    //
    xGPIOSPinTypeGPIOOutput(sD4);
    xGPIOSPinTypeGPIOOutput(sD8);
    xGPIOSPinTypeGPIOOutput(sD12);
    xGPIOSPinTypeGPIOOutput(sD7);

    //
    // Set PWM Clock Source
    //
    xSysCtlPeripheralClockSourceSet(xSYSCTL_PWMA_MAIN, 4);
    xSysCtlPeripheralClockSourceSet(xSYSCTL_PWMB_MAIN, 4);

    //
    // Congigure the PWM pin(PWM7, sD11))
    //
    sD11PinTypePWM();
    //xGPIOSPinTypeGPIOOutput(sD11);
    //xGPIOSPinWrite(sD11, 1);

    //
    // 74HC595 operation
    // Output Enable
    //
    SendData74HC595(0x60);
}
Esempio n. 2
0
File: main.c Progetto: xinyun/test
void GPIO_Example_LED_Blink(void)
{

    /********************** Configure System clock *************************/
    SysCtlClockSet(100000000, SYSCTL_OSC_INT | SYSCTL_XTAL_12_MHZ);
    SysCtlDelay(TICK_SLOW);

    // Enable LED PORT
    SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOC);

    // Configure LED(PC3) pin into output mode.
    xGPIOSPinTypeGPIOOutput(PC3);
    xGPIOSPinDirModeSet(PC3,xGPIO_DIR_MODE_OUT);

    while(1)
    {
        // LED ON
        xGPIOSPinWrite(PC3,1);
        xSysCtlDelay(10*TICK_SLOW);

        // LED OFF
        xGPIOSPinWrite(PC3,0);
        xSysCtlDelay(10*TICK_SLOW);
    }
}
Esempio n. 3
0
//*****************************************************************************
//
//! \brief Init Spi communction port and wifi handshake pin.
//
//! WiFi shield IO refence volatge == 3.3V
//! Pin map is below:
//! HAND_PIN  --> PA3
//! SPI1_NSS  --> PA4
//! SPI1_SCK  --> PA5
//! SPI1_MISO --> PA6
//! SPI1_MOSI --> PA7
//!
//! \param none.
//!
//! \return None
//
//*****************************************************************************
void SpiDrv_Init(void)
{
    
    xSysCtlClockSet(72000000,  xSYSCTL_OSC_MAIN | xSYSCTL_XTAL_8MHZ);

    xSysCtlPeripheralEnable(xSYSCTL_PERIPH_GPIOA);
    SysCtlPeripheralEnable(SYSCTL_PERIPH_SPI1);
    SysCtlPeripheralEnable(SYSCTL_PERIPH_AFIO);

    xGPIOSPinTypeGPIOInput(PA3);
    xGPIOSPinTypeGPIOOutput(PA4);

    xSPinTypeSPI(SPI1CLK(3),  PA5);
    xSPinTypeSPI(SPI1MOSI(3), PA7);
    xSPinTypeSPI(SPI1MISO(1), PA6);

    //
    // Configure MCU as a master device , 8 bits data width ,MSB first,Mode_0
    //
    xSPIConfigSet(xSPI1_BASE, 4000000, xSPI_MOTO_FORMAT_MODE_0 |
                                                xSPI_MODE_MASTER |
                                                xSPI_MSB_FIRST |
                                                xSPI_DATA_WIDTH8);
    xSPISSSet(xSPI1_BASE, xSPI_SS_SOFTWARE, xSPI_SS0);

    xSPIEnable(xSPI1_BASE);
}
Esempio n. 4
0
//*****************************************************************************
//
//! \brief Read the state or data from the ST7735.
//!
//! \param ucRS determines if the IR or DR to select.
//!
//! The parameter of ucDC can be:
//! - ST7735_RS_COMMAND - select the IR.
//! - ST7735_RS_DATA - select the DR.
//!
//! \return None.
//
//*****************************************************************************
unsigned long 
ST7735Read(unsigned char ucRS)
{
    unsigned long ulData = 0;

    //
    // Set D7 - D0 direction to GPIO Input
    //      
    xGPIOSPinTypeGPIOInput(ST7735_PIN_D7);
    xGPIOSPinTypeGPIOInput(ST7735_PIN_D6);
    xGPIOSPinTypeGPIOInput(ST7735_PIN_D5);
    xGPIOSPinTypeGPIOInput(ST7735_PIN_D4);
    xGPIOSPinTypeGPIOInput(ST7735_PIN_D3);
    xGPIOSPinTypeGPIOInput(ST7735_PIN_D2);
    xGPIOSPinTypeGPIOInput(ST7735_PIN_D1);
    xGPIOSPinTypeGPIOInput(ST7735_PIN_D0);       

    //
    // DC:Command, RD:Write/Read, CS:Enable
    //
    xGPIOSPinWrite(ST7735_PIN_RS, ucRS);
    xGPIOSPinWrite(ST7735_PIN_WR, ST7735_WR_HIGH);	
    xGPIOSPinWrite(ST7735_PIN_CS, ST7735_CS_ENABLE);

    xSysCtlDelay(100);
    
    //
    // Read the Data
    //
		xGPIOSPinWrite(ST7735_PIN_RD, ST7735_RD_LOW);
    xSysCtlDelay(100);
    xGPIOSPinWrite(ST7735_PIN_RD, ST7735_RD_HIGH);
    ulData |= xGPIOSPinRead(ST7735_PIN_D7) << 7;
    ulData |= xGPIOSPinRead(ST7735_PIN_D6) << 6;
    ulData |= xGPIOSPinRead(ST7735_PIN_D5) << 5;
    ulData |= xGPIOSPinRead(ST7735_PIN_D4) << 4;
    ulData |= xGPIOSPinRead(ST7735_PIN_D3) << 3;
    ulData |= xGPIOSPinRead(ST7735_PIN_D2) << 2;
    ulData |= xGPIOSPinRead(ST7735_PIN_D1) << 1;
    ulData |= xGPIOSPinRead(ST7735_PIN_D0) << 0;
    
    xGPIOSPinWrite(ST7735_PIN_CS, ST7735_CS_DISABLE); 

    //
    // At the End, set D7 - D0 direction to GPIO OutPut
    //  
    xGPIOSPinTypeGPIOOutput(ST7735_PIN_D7);
    xGPIOSPinTypeGPIOOutput(ST7735_PIN_D6);
    xGPIOSPinTypeGPIOOutput(ST7735_PIN_D5);
    xGPIOSPinTypeGPIOOutput(ST7735_PIN_D4);
    xGPIOSPinTypeGPIOOutput(ST7735_PIN_D3);
    xGPIOSPinTypeGPIOOutput(ST7735_PIN_D2);
    xGPIOSPinTypeGPIOOutput(ST7735_PIN_D1);
    xGPIOSPinTypeGPIOOutput(ST7735_PIN_D0);   
    
    return ulData;
}
void main(void)
{ 
    //unsigned long ulTmp = 0;

    /********************** Configure System clock *************************/
    SysCtlClockSet(100000000, SYSCTL_OSC_INT | SYSCTL_XTAL_12_MHZ);
    SysCtlDelay(TICK_SLOW);

    // Configure LED(PC3) pin
    SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOC);
    xGPIOSPinTypeGPIOOutput(PC3);

    // Turn off LED
    GPIOPinClr(GPIOC_BASE, GPIO_PIN_3);

    // Disable NVIC RTC interrupt
    xIntDisable(xINT_RTC);
    RTCDisable();
    RTCIntCallbackInit(RTCHandler);

    // Enable RTC second increment interrupt.
    // Enable RTC minute interrupt.
    RTCIntCfg( INT_SEC_EN          |   INT_MIN_DIS         |
               INT_HOUR_DIS        |   INT_DOM_DIS         |
               INT_DOW_DIS         |   INT_DOY_DIS         |
               INT_MON_DIS         |   INT_YEAR_DIS        |
               INT_ALARM_SEC_DIS   |   INT_ALARM_MIN_EN    |
               INT_ALARM_HOUR_DIS  |   INT_ALARM_DOM_DIS   |
               INT_ALARM_DOW_DIS   |   INT_ALARM_DOY_DIS   |
               INT_ALARM_MON_DIS   |   INT_ALARM_YEAR_DIS  );

    RTCTimeSet(RTC_TIMETYPE_SECOND,      0);
    RTCTimeSet(RTC_TIMETYPE_MINUTE,      0);
    RTCTimeSet(RTC_TIMETYPE_HOUR,        0);
    RTCTimeSet(RTC_TIMETYPE_DAYOFWEEK,   0);
    RTCTimeSet(RTC_TIMETYPE_DAYOFMONTH,  0);
    RTCTimeSet(RTC_TIMETYPE_DAYOFYEAR,   0);
    RTCTimeSet(RTC_TIMETYPE_MONTH,       0);
    RTCTimeSet(RTC_TIMETYPE_YEAR,        0);

    RTCAlarmSet(RTC_TIMETYPE_SECOND,     0);
    RTCAlarmSet(RTC_TIMETYPE_MINUTE,     1);
    RTCAlarmSet(RTC_TIMETYPE_HOUR,       0);
    RTCAlarmSet(RTC_TIMETYPE_DAYOFWEEK,  0);
    RTCAlarmSet(RTC_TIMETYPE_DAYOFMONTH, 0);
    RTCAlarmSet(RTC_TIMETYPE_DAYOFYEAR,  0);
    RTCAlarmSet(RTC_TIMETYPE_MONTH,      0);
    RTCAlarmSet(RTC_TIMETYPE_YEAR,       0);

    RTCEnable();
    RTCCounterReset();
    xIntEnable(xINT_RTC);

    while (1)
    {
        ; // DoNothing
    }
}
Esempio n. 6
0
void SendData74HC595(unsigned char ucData)
{
    unsigned long i = 0;
    unsigned long ulBit = 0;
    xGPIOSPinTypeGPIOOutput(sD4);
    xGPIOSPinTypeGPIOOutput(sD8);
    xGPIOSPinTypeGPIOOutput(sD7);

    //
    // 74HC595 operation
    // Output Enable
    //
    xGPIOSPinWrite(sD7, 1);
    xGPIOSPinWrite(sD7, 0);

    //
    // Send Data 0xF7 to 74HC595
    //
    xGPIOSPinWrite(sD4, 0);
    for(i=0; i<8; i++)
    {
        if((ucData & (1<<i)))
        {
            xGPIOSPinWrite(sD8, 1);
        }
        else
        {
            xGPIOSPinWrite(sD8, 0);
        }
        xGPIOSPinWrite(sD4, 1);
        xSysCtlDelay(1);
        xGPIOSPinWrite(sD4, 0);
    }
    //
    // Latch Data to 74HC595
    //
    xGPIOSPinWrite(sD12, 0);
    xSysCtlDelay(1);
    xGPIOSPinWrite(sD12, 1);
    xSysCtlDelay(1);
    xGPIOSPinWrite(sD12, 0);
}
Esempio n. 7
0
//*****************************************************************************
//
//! \brief Init GPIO of the sensor shield board.
//!
//! \param None.
//!
//! Init GPIO of the sensor shield board.
//!
//! \return None
//
//*****************************************************************************
void
SensorShieldIOInit(void)
{
#if(SENSOR_SHIELD_OUT_USED > 0)
    xGPIOSPinTypeGPIOOutput(SENSOR_SHIELD_O0);
    xGPIOSPinTypeGPIOOutput(SENSOR_SHIELD_O1);
    xGPIOSPinTypeGPIOOutput(SENSOR_SHIELD_O2);
    xGPIOSPinTypeGPIOOutput(SENSOR_SHIELD_O3);
    xGPIOSPinTypeGPIOOutput(SENSOR_SHIELD_O4);
    xGPIOSPinTypeGPIOOutput(SENSOR_SHIELD_O5);
	  xGPIOSPinWrite(SENSOR_SHIELD_O5, 1);

#endif

#if(SENSOR_SHIELD_IN0_USED == SENSOR_SHIELD_IN_ANALOG)
    sA0PinTypeADC();
#elif (SENSOR_SHIELD_IN0_USED == SENSOR_SHIELD_IN_DIGITAL)
    xGPIOSPinTypeGPIOInput(SENSOR_SHIELD_A0);
#endif

#if(SENSOR_SHIELD_IN1_USED == SENSOR_SHIELD_IN_ANALOG)
    sA1PinTypeADC();
#elif (SENSOR_SHIELD_IN0_USED == SENSOR_SHIELD_IN_DIGITAL)
    xGPIOSPinTypeGPIOInput(SENSOR_SHIELD_A1);
#endif

#if(SENSOR_SHIELD_IN2_USED == SENSOR_SHIELD_IN_ANALOG)
    sA2PinTypeADC();
#elif (SENSOR_SHIELD_IN0_USED == SENSOR_SHIELD_IN_DIGITAL)
    xGPIOSPinTypeGPIOInput(SENSOR_SHIELD_A2);
#endif

#if(SENSOR_SHIELD_IN3_USED == SENSOR_SHIELD_IN_ANALOG)
    sA3PinTypeADC();
#elif (SENSOR_SHIELD_IN0_USED == SENSOR_SHIELD_IN_DIGITAL)
    xGPIOSPinTypeGPIOInput(SENSOR_SHIELD_A3);
#endif

#if(SENSOR_SHIELD_IN4_USED == SENSOR_SHIELD_IN_ANALOG)
    sA4PinTypeADC();
#elif (SENSOR_SHIELD_IN0_USED == SENSOR_SHIELD_IN_DIGITAL)
    xGPIOSPinTypeGPIOInput(SENSOR_SHIELD_A4);
#endif

#if(SENSOR_SHIELD_IN5_USED == SENSOR_SHIELD_IN_ANALOG)
    sA5PinTypeADC();
#elif (SENSOR_SHIELD_IN0_USED == SENSOR_SHIELD_IN_DIGITAL)
    xGPIOSPinTypeGPIOInput(SENSOR_SHIELD_A5);
#endif

#if(SENSOR_SHIELD_I2C_USED > 0)
    sPinTypeI2C(sI2C_BASE);
#endif

#if(SENSOR_SHIELD_UART_USED > 0)
    sPinTypeUART(sUART_BASE);
#endif
}
Esempio n. 8
0
void WDT_Example_Reset(void)
{ 
    unsigned long i = 0;

    /********************** Configure System clock *************************/
    SysCtlClockSet(100000000, SYSCTL_OSC_INT | SYSCTL_XTAL_12_MHZ);
    SysCtlDelay(TICK_SLOW);

    // Power WDT/GPIO on
    // Note: For LPC17xx, Watchdog module is always enabled.
    SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOC);

    // Configure LED pin PC3
    xGPIOSPinTypeGPIOOutput(PC3);

    // Reset source is watchdog ?
    if(xtrue == WDTStatusFlagCheck(WDT_FLAG_TIMEOUT))    // Watchdog has reset mcu
    {
        // Clear Watchdog timeout flag
        WDTStatusFlagClear(WDT_FLAG_TIMEOUT);

        // Turn off the LED        
        GPIOPinClr(GPIOC_BASE, GPIO_PIN_3);
        while(1);
    }                                                    // First configure watchdog
    else
    {
        // Configure watchdog into reset mode.
        WDTCfg(WDT_CFG_RESET_MODE | WDT_CFG_CLKSRC_IRC, 0xFFFFF);
        WDTEnable();

        // Feed Watchdog and blink LED 50 times.
        for(i = 0; i < 50; i++)
        {
            WDTFeed();

            // LED ON
            GPIOPinClr(GPIOC_BASE, GPIO_PIN_3);
            SysCtlDelay(20*TICK_SLOW);

            // LED OFF
            GPIOPinSet(GPIOC_BASE, GPIO_PIN_3);
            SysCtlDelay(20*TICK_SLOW);
        }

        // Stop Feed watchdog and wait for mcu reset.
        while(1);
    }
}
void main(void)
{ 

    unsigned long Status = 0;

    /********************** Configure System clock *************************/
    SysCtlClockSet(100000000, SYSCTL_OSC_INT | SYSCTL_XTAL_12_MHZ);
    SysCtlDelay(TICK_SLOW);

    // Enable LED PORT
    SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOC);

    // Configure LED(PC3) pin into output mode.
    xGPIOSPinTypeGPIOOutput(PC3);

    // Configure Timer Capture pin(PB26)
    GPIOPinFunCfg(GPIOB_BASE, GPIO_PIN_26,  GPIO_PB26_TIMCCP0);

    TimerCounterCfg(TIMER0_BASE, TIMER_CFG_CNT_CAP0_BOTH);
    TimerReset(TIMER0_BASE);
    TimerStart(TIMER0_BASE);

    while (1)
    {

        if( (TimerValueGet(TIMER0_BASE) % 10) == 0)
        {
            if(Status)
            {
                // Turn on LED
                Status = 0;
                GPIOPinSet(GPIOC_BASE, GPIO_PIN_3);
            }
            else
            {
                // Turn off LED
                Status = 1;
                GPIOPinClr(GPIOC_BASE, GPIO_PIN_3);
            }
        }
    }

    while(1);
}
Esempio n. 10
0
int main()
{
    unsigned long i;
    unsigned char ucRet = 0;
    unsigned long ulValueLength;
    unsigned long ulData[10];


    xPWMotorControl();

    HD44780Init();

    //
    // Enable Peripheral SPI0
    //
    xSysCtlPeripheralEnable(SYSCTL_PERIPH_ADC);

    xSPinTypeADC(ADC0, sA0);

    //
    // ADC Channel0 convert once, Software tirgger.
    //
    xADCConfigure(xADC0_BASE, xADC_MODE_SCAN_CONTINUOUS, ADC_TRIGGER_PROCESSOR);

    //
    // Enable the channel0
    //
    xADCStepConfigure(xADC0_BASE, 0, xADC_CTL_CH0);

    //
    // Enable the ADC end of conversion interrupt
    //
    //xADCIntEnable(xADC0_BASE, xADC_INT_END_CONVERSION);

    //
    // install the call back interrupt
    //
    //xADCIntCallbackInit(xADC0_BASE, ADCCallback);

    //
    // Enable the NVIC ADC interrupt
    //
    //xIntEnable(xINT_ADC0);

    //
    // Enable the adc
    //
    xADCEnable(xADC0_BASE);

    //
    // start ADC convert
    //
    xADCProcessorTrigger( xADC0_BASE );

    HD44780LocationSet(0, 0);
    HD44780DisplayString("Hello Nuvoton!");
    HD44780LocationSet(0, 1);
    HD44780DisplayString("Hello CooCox! ");

    SysCtlDelay(10000000);

    while(1)
    {
        SysCtlDelay(1000000);
        //
        // Read the convert value
        //
        ulValueLength = xADCDataGet(xADC0_BASE, ulData);


        if (ulData[0] < 0x30100)
        {
            HD44780DisplayClear();
            HD44780LocationSet(0, 0);
            HD44780DisplayString("right");
            SendData74HC595(0x60);
            sD11PinTypePWM();
            xPWMStart(xPWMB_BASE, xPWM_CHANNEL7);
            xGPIOSPinWrite(sD3, 1);
        }
        else if(ulData[0] < 0x30300)
        {
            HD44780DisplayClear();
            HD44780LocationSet(0, 0);
            HD44780DisplayString("up");
            ulDuty++;
            xPWMDutySet(xPWMB_BASE, xPWM_CHANNEL7, ulDuty);
            sD11PinTypePWM();
            xPWMStart(xPWMB_BASE, xPWM_CHANNEL7);
            xGPIOSPinWrite(sD3, 1);
            SysCtlDelay(100000);
        }
        else if(ulData[0] < 0x30600)
        {
            HD44780DisplayClear();
            HD44780LocationSet(0, 0);
            HD44780DisplayString("dowm");
            ulDuty--;
            xPWMDutySet(xPWMB_BASE, xPWM_CHANNEL7, ulDuty);
            sD11PinTypePWM();
            xPWMStart(xPWMB_BASE, xPWM_CHANNEL7);
            xGPIOSPinWrite(sD3, 1);
            SysCtlDelay(100000);

        }
        else if(ulData[0] < 0x30900)
        {
            HD44780DisplayClear();
            HD44780LocationSet(0, 0);
            HD44780DisplayString("left");
            SendData74HC595(0x18);
            sD11PinTypePWM();
            xPWMStart(xPWMB_BASE, xPWM_CHANNEL7);
            xGPIOSPinWrite(sD3, 1);
        }
        else if(ulData[0] < 0x30E00)
        {
            HD44780DisplayClear();
            HD44780LocationSet(0, 0);
            HD44780DisplayString("select");
            SendData74HC595(0x60);
            sD11PinTypePWM();
            xPWMStart(xPWMB_BASE, xPWM_CHANNEL7);
            xGPIOSPinWrite(sD3, 1);
        }
        else
        {
            HD44780DisplayClear();
            HD44780LocationSet(0, 0);
            HD44780DisplayString("Nothing");
            xPWMStop(xPWMB_BASE, xPWM_CHANNEL7);
            xGPIOSPinTypeGPIOOutput(sD11);
            xGPIOSPinTypeGPIOOutput(sD3);
            xGPIOSPinWrite(sD11, 0);
            xGPIOSPinWrite(sD3, 0);
        }
        if(ulDuty >= 99)
        {
            ulDuty = 99;
        }
        if(ulDuty <= 1)
        {
            ulDuty = 1;
        }
    }

    //
    // SD Card Init
    //
    ucRet = SDInit();

    //
    // write a block to the card
    //
    ucRet = SDBlockWrite(pucBuf, 0);

    //
    // Re-init the test buffer to 0
    //
    for(i = 0; i < 512; i++)
    {
        pucBuf[i] = 0;
    }

    //
    // Read 1 block from the card
    //
    ucRet = SDBlockRead(pucBuf, 0);

    while(1);
}
Esempio n. 11
0
//*****************************************************************************
//
//! \brief Init the HD44780 LCD Device.
//!
//! \param None.
//!
//! This function is used to Init the HD44780 Device. It must be call before 
//! any other LCD function use.
//!
//! It Open the pins's GPIO peripheral port, and config the pins type to GPIO 
//! output. Then config the LCD into the default state, clear the LCD and 
//! Open the display. Default A Blink cursor is set on. The LCD cursor move 
//! direction is config as increment default.
//!
//! The HD44780 Initial state can be determined by the \ref HD44780_Config.
//! - Pins that used is determined by \ref HD44780_Config_Pins.
//! - The inteface data length is determined by \ref HD44780_INTERFACE_DATA_LEN.
//! - The LCD display line is determined by \ref HD44780_DISPLAY_LINE.
//! - The LCD character font is determined by \ref HD44780_CHARACTER_FONT.
//! .
//! 
//! \return None.
//
//*****************************************************************************
void 
HD44780Init(void)
{
	ucDisplayFunction = (HD44780_INTERFACE_DATA_LEN |
                         HD44780_FUNCTION_SET_N_2 |
                         HD44780_CHARACTER_FONT);
	ucRsPin = 1;
	ucRwPin = 255;
	ucEnablePin = 2;
	ucDataPin[0] = 6;
	ucDataPin[1] = 5;
	ucDataPin[2] = 4;
	ucDataPin[3] = 3;
	_SPIbuff = 0;

    xSysCtlPeripheralEnable(xGPIOSPinToPeripheralId(HD44780_PIN_CS));
    xSysCtlPeripheralEnable(xGPIOSPinToPeripheralId(HD44780_PIN_CLK));
    xSysCtlPeripheralEnable(xGPIOSPinToPeripheralId(HD44780_PIN_MOSI));
     

#if HD44780_SPI_MODE == SPIMODE_HARDWARE
    //
    // Enable Peripheral SPI1
    //
    xSysCtlPeripheralEnable2(HD44780_SPI);
    SysCtlPeripheralEnable(SYSCTL_PERIPH_AFIO);

    //
    // Configure Some GPIO pins as SPI Mode    SPI MISO is no use in LCD4884
    //
    xSPinTypeSPI(HD44780_CLK,HD44780_PIN_CLK);
    xSPinTypeSPI(HD44780_MOSI,HD44780_PIN_MOSI);
    xGPIOSPinTypeGPIOOutput(HD44780_PIN_CS);

    //
    // Configure SPI  SPI1,ulRate
    //
    xSPIConfigSet((HD44780_SPI), HD44780_SPI_BAUDRATE,
    	SPI_FORMAT_MODE_3 | SPI_DATA_WIDTH8 | SPI_MSB_FIRST | SPI_MODE_MASTER);

    //
    //! \note Enanble SPI SS,test on M0516LBN.other mcu there may need modify.
    //
    xSPISSSet((HD44780_SPI), xSPI_SS_SOFTWARE, xSPI_SS0);
    xSPIEnable(HD44780_SPI);
#else
    //
    // Set Pins Type to GPIO Output
    //

    xGPIOSPinTypeGPIOOutput(HD44780_PIN_CS);
    xGPIOSPinTypeGPIOOutput(HD44780_PIN_CLK);
    xGPIOSPinTypeGPIOOutput(HD44780_PIN_MOSI);
#endif

    //
    // Output default value : E disable
    //

    //
    // Set Entry Mode: Interface Data Length, Character Font, Display Line
    //
    while(HD44780Busy());
    HD44780WriteCmd(HD44780_CMD_FUNCTION_SET(HD44780_INTERFACE_DATA_LEN |
                                             HD44780_FUNCTION_SET_N_2 |
                                             HD44780_CHARACTER_FONT));

    //
    // Display on & Cursor Blink
    //
    while(HD44780Busy());
    HD44780WriteCmd(HD44780_CMD_DISPLAY_CTRL(HD44780_DISPLAY_CTRL_D |
                                             0 |
                                             HD44780_DISPLAY_CTRL_B));

    //
    // Clear LCD
    //
    while(HD44780Busy());
    HD44780WriteCmd(HD44780_CMD_CLS);

    //
    // Cursor Move Mode: Increment
    //
    while(HD44780Busy());
    HD44780WriteCmd(HD44780_CMD_ENTRY_MODE_SET(HD44780_ENTRY_MODE_SET_ID_INC |
                                               0));
    
}
Esempio n. 12
0
//*****************************************************************************
//
//! \brief Init the ST7735 LCD Device.
//!
//! \param None.
//!
//! This function is used to Init the ST7735 Device. It must be call before 
//! any other LCD function use.
//!
//! It Open the pins's GPIO peripheral port, and config the pins type to GPIO 
//! output. Then config the LCD into the default state, clear the LCD and 
//! Open the display. Default A Blink cursor is set on. The LCD cursor move 
//! direction is config as increment default.
//!
//! The ST7735 Initial state can be determined by the \ref ST7735_Config.
//! - Pins that used is determined by \ref ST7735_Config_Pins.
//! - The LCD display line is determined by \ref ST7735_DISPLAY_LINE.
//! - The LCD character font is determined by \ref ST7735_CHARACTER_FONT.
//! .
//! 
//! \return None.
//
//*****************************************************************************
void 
ST7735Init(void)
{
    unsigned long ulCount;
    
    //
    // Enable GPIO Port that used
    //
    xSysCtlPeripheralEnable(xGPIOSPinToPeripheralId(ST7735_PIN_D7));
    xSysCtlPeripheralEnable(xGPIOSPinToPeripheralId(ST7735_PIN_D6));
    xSysCtlPeripheralEnable(xGPIOSPinToPeripheralId(ST7735_PIN_D5));
    xSysCtlPeripheralEnable(xGPIOSPinToPeripheralId(ST7735_PIN_D4));
    xSysCtlPeripheralEnable(xGPIOSPinToPeripheralId(ST7735_PIN_D3));
    xSysCtlPeripheralEnable(xGPIOSPinToPeripheralId(ST7735_PIN_D2));
    xSysCtlPeripheralEnable(xGPIOSPinToPeripheralId(ST7735_PIN_D1));
    xSysCtlPeripheralEnable(xGPIOSPinToPeripheralId(ST7735_PIN_D0)); 
 
    xSysCtlPeripheralEnable(xGPIOSPinToPeripheralId(ST7735_PIN_RD));
    xSysCtlPeripheralEnable(xGPIOSPinToPeripheralId(ST7735_PIN_WR));
    xSysCtlPeripheralEnable(xGPIOSPinToPeripheralId(ST7735_PIN_CS));
    xSysCtlPeripheralEnable(xGPIOSPinToPeripheralId(ST7735_PIN_RS)); 
    xSysCtlPeripheralEnable(xGPIOSPinToPeripheralId(ST7735_PIN_RST));
    xSysCtlPeripheralEnable(xGPIOSPinToPeripheralId(ST7735_PIN_BACKLIGHT)); 
    //
    // Set Pins Type to GPIO Output
    //
    xGPIOSPinTypeGPIOOutput(ST7735_PIN_D7);
    xGPIOSPinTypeGPIOOutput(ST7735_PIN_D6);
    xGPIOSPinTypeGPIOOutput(ST7735_PIN_D5);
    xGPIOSPinTypeGPIOOutput(ST7735_PIN_D4);
    xGPIOSPinTypeGPIOOutput(ST7735_PIN_D3);
    xGPIOSPinTypeGPIOOutput(ST7735_PIN_D2);
    xGPIOSPinTypeGPIOOutput(ST7735_PIN_D1);
    xGPIOSPinTypeGPIOOutput(ST7735_PIN_D0);
  
    xGPIOSPinTypeGPIOOutput(ST7735_PIN_RD);
    xGPIOSPinTypeGPIOOutput(ST7735_PIN_WR);
    xGPIOSPinTypeGPIOOutput(ST7735_PIN_CS);
    xGPIOSPinTypeGPIOOutput(ST7735_PIN_RS);  
    xGPIOSPinTypeGPIOOutput(ST7735_PIN_RST);
    xGPIOSPinTypeGPIOOutput(ST7735_PIN_BACKLIGHT);   
    //
    // Turn on the backlight.
    //
    xGPIOSPinWrite(ST7735_PIN_BACKLIGHT, ST7735_BACKLIGHT_ON);

    xGPIOSPinWrite(ST7735_PIN_RST, ST7735_RST_ENABLE);
    xSysCtlDelay(100);
    xGPIOSPinWrite(ST7735_PIN_RST, ST7735_RST_DISABLE);
    xSysCtlDelay(100);

    ST7735WriteCmd(ST7735_SLPOUT_REG);    //sleep out and booter on 
    xSysCtlDelay(5000); 
   
    ST7735WriteCmd(ST7735_FRMCTR1_REG);    //
    ST7735WriteData(0x12C);	
    ST7735WriteData(0x2D00);
   
    ST7735WriteCmd(ST7735_FRMCTR2_REG);    // 
    ST7735WriteData(0x12C);	
    ST7735WriteData(0x2D00);
   
    ST7735WriteCmd(ST7735_FRMCTR3_REG);    //
    ST7735WriteData(0x12C);	
    ST7735WriteData(0x2D01);
    ST7735WriteData(0x2C2D);	

    ST7735WriteCmd(ST7735_INVCTR_REG);    // 
    ST7735WriteData(0x07); 
   
  //============ power control setting ========================== 
    ST7735WriteCmd(ST7735_PWCTR1_REG);     // 
    ST7735WriteData(0xA202);
    ST7735WriteData(0x84);

    ST7735WriteCmd(ST7735_PWCTR2_REG);     // set VCL,VGH,VGL,AVDD 
    ST7735WriteData(0xC5);
   
    ST7735WriteCmd(ST7735_PWCTR3_REG);     // 
    ST7735WriteData(0x0A00);
   
    ST7735WriteCmd(ST7735_PWCTR4_REG);     //
    ST7735WriteData(0x8A2A);	
   
    ST7735WriteCmd(ST7735_PWCTR5_REG);     // 
    ST7735WriteData(0x8AEE);
   
    ST7735WriteCmd(ST7735_VMCTR1_REG);     // 
    ST7735WriteData(0x0E);
   
    ST7735WriteCmd(ST7735_MADCTL_REG);    //set VCOMH,VCOML voltage 
    ST7735WriteData(0xC8);                //VCOMH=3.275V   
    ST7735WriteCmd(ST7735_INVOFF_REG); 
    ST7735WriteCmd(ST7735_INVON_REG);

    //===== gamma"+"polarity correction characteristic setting =================== 
    ST7735WriteCmd(ST7735_GAMCTRP1_REG); 
    ST7735WriteData(0x21C);
    ST7735WriteData(0x712);
    ST7735WriteData(0x3732);
    ST7735WriteData(0x292D);
    ST7735WriteData(0x2925);
    ST7735WriteData(0x2B39);
    ST7735WriteData(0x1);
    ST7735WriteData(0x310);

    //===== gamma"-"polarity correction characteristic setting =================== 
    ST7735WriteCmd(ST7735_GAMCTRN1_REG); 
    ST7735WriteData(0x31D);
    ST7735WriteData(0x706);
    ST7735WriteData(0x2E2C);
    ST7735WriteData(0x292D);
    ST7735WriteData(0x2E2E);
    ST7735WriteData(0x373F);
    ST7735WriteData(0x0);
    ST7735WriteData(0x210);
 
    ST7735WriteCmd(ST7735_INVOFF_REG);    //   
    ST7735WriteCmd(ST7735_MADCTL_REG);    // memory  access   control 
    write_data(0xcc); 
    ST7735WriteCmd(ST7735_COLMOD_REG);    // E0H or E1 Register enable or disabl 
    write_data(0x05);                     // E0H or E1 Register enable 
    ST7735WriteCmd(ST7735_DISPON_REG);    // display on 
	
    //
    // Set the display size and ensure that the GRAM window is set to allow
    // access to the full display buffer.
    //
    ST7735WriteCmd(ST7735_CASET_REG);
    ST7735WriteData(0);
    ST7735WriteData(LCD_HORIZONTAL_MAX - 1);
    ST7735WriteCmd(ST7735_RASET_REG);
    ST7735WriteData(0);
    ST7735WriteData(LCD_VERTICAL_MAX - 1);
 
    //
    // Clear the contents of the display buffer.
    // 
    ST7735WriteCmd(ST7735_RAMWR_REG);  
    for(ulCount = 0; ulCount < (LCD_HORIZONTAL_MAX * LCD_VERTICAL_MAX); ulCount++)
    {
        ST7735WriteData(0xFFFF);
    } 
}
Esempio n. 13
0
//*****************************************************************************
//
//! \brief Init the sensor shield board.
//!
//! \param None.
//!
//! Init the sensor shield board.
//!
//! \return None
//
//*****************************************************************************
void
SensorShieldInit(void)
{
#if(SENSOR_SHIELD_OUT_USED > 0)
    xGPIOSPinTypeGPIOOutput(SENSOR_SHIELD_O0);
    xGPIOSPinTypeGPIOOutput(SENSOR_SHIELD_O1);
    xGPIOSPinTypeGPIOOutput(SENSOR_SHIELD_O2);
    xGPIOSPinTypeGPIOOutput(SENSOR_SHIELD_O3);
    xGPIOSPinTypeGPIOOutput(SENSOR_SHIELD_O4);
    xGPIOSPinTypeGPIOOutput(SENSOR_SHIELD_O5);

#endif

#if((SENSOR_SHIELD_IN0_USED == SENSOR_SHIELD_IN_ANALOG) ||                    \
    (SENSOR_SHIELD_IN1_USED == SENSOR_SHIELD_IN_ANALOG) ||                    \
    (SENSOR_SHIELD_IN2_USED == SENSOR_SHIELD_IN_ANALOG) ||                    \
    (SENSOR_SHIELD_IN3_USED == SENSOR_SHIELD_IN_ANALOG) ||                    \
    (SENSOR_SHIELD_IN4_USED == SENSOR_SHIELD_IN_ANALOG) ||                    \
    (SENSOR_SHIELD_IN5_USED == SENSOR_SHIELD_IN_ANALOG))

    xSysCtlPeripheralClockSourceSet(xSYSCTL_ADC0_HCLK, 3);
    //
    // Enable Peripheral ADC0
    //
    xSysCtlPeripheralEnable(xSYSCTL_PERIPH_ADC0);

    //
    // Configure Some GPIO pins as ADC Mode
    //

    //
    // Enable the adc
    //
    xADCEnable(xADC0_BASE);

    //
    // ADC Channel0 convert once, Software tirgger.
    //
    xADCConfigure(xADC0_BASE, xADC_MODE_SCAN_CONTINUOUS, ADC_TRIGGER_PROCESSOR);

    //
    // Enable the channel0
    //

    //
    // Set Compare Condition(Moisture Sensor Limited Value)
    //
    xADCCompConditionConfig(ADC_BASE, 0, xADC_COMP_INT_LOW);
    ADCCompDataSet(ADC_BASE, 0, 1600, 1);
    xADCCompEnable(ADC_BASE, 0);
    //
    // Enable the ADC end of conversion interrupt
    //
    xADCIntEnable(xADC0_BASE, xADC_INT_COMP);

    //
    // install the call back interrupt
    //
    xADCIntCallbackInit(xADC0_BASE, ADCCallback);

    //
    // Enable the NVIC ADC interrupt
    //
    xIntEnable(xINT_ADC0);

    xADCProcessorTrigger(xADC0_BASE);

#endif

#if(SENSOR_SHIELD_IN0_USED == SENSOR_SHIELD_IN_ANALOG)
    sA0PinTypeADC();
    xADCStepConfigure(xADC0_BASE, 1, xADC_CTL_CH0);

#elif (SENSOR_SHIELD_IN0_USED == SENSOR_SHIELD_IN_DIGITAL)
    xGPIOSPinTypeGPIOInput(SENSOR_SHIELD_A0);
#endif

#if(SENSOR_SHIELD_IN1_USED == SENSOR_SHIELD_IN_ANALOG)
    sA1PinTypeADC();
    xADCStepConfigure(xADC0_BASE, 1, xADC_CTL_CH1);
#elif (SENSOR_SHIELD_IN0_USED == SENSOR_SHIELD_IN_DIGITAL)
    xGPIOSPinTypeGPIOInput(SENSOR_SHIELD_A1);
#endif

#if(SENSOR_SHIELD_IN2_USED == SENSOR_SHIELD_IN_ANALOG)
    sA2PinTypeADC();
    xADCStepConfigure(xADC0_BASE, 1, xADC_CTL_CH2);
#elif (SENSOR_SHIELD_IN0_USED == SENSOR_SHIELD_IN_DIGITAL)
    xGPIOSPinTypeGPIOInput(SENSOR_SHIELD_A2);
#endif

#if(SENSOR_SHIELD_IN3_USED == SENSOR_SHIELD_IN_ANALOG)
    sA3PinTypeADC();
    xADCStepConfigure(xADC0_BASE, 1, xADC_CTL_CH3);
#elif (SENSOR_SHIELD_IN0_USED == SENSOR_SHIELD_IN_DIGITAL)
    xGPIOSPinTypeGPIOInput(SENSOR_SHIELD_A3);
#endif

#if(SENSOR_SHIELD_IN4_USED == SENSOR_SHIELD_IN_ANALOG)
    sA4PinTypeADC();
    xADCStepConfigure(xADC0_BASE, 1, xADC_CTL_CH4);
#elif (SENSOR_SHIELD_IN0_USED == SENSOR_SHIELD_IN_DIGITAL)
    xGPIOSPinTypeGPIOInput(SENSOR_SHIELD_A4);
#endif

#if(SENSOR_SHIELD_IN5_USED == SENSOR_SHIELD_IN_ANALOG)
    sA5PinTypeADC();
    xADCStepConfigure(xADC0_BASE, 1, xADC_CTL_CH5);
#elif (SENSOR_SHIELD_IN0_USED == SENSOR_SHIELD_IN_DIGITAL)
    xGPIOSPinTypeGPIOInput(SENSOR_SHIELD_A5);
#endif

#if(SENSOR_SHIELD_I2C_USED > 0)
    //
    // Enable the GPIOx port which is connected with I2C
    //
    xSysCtlPeripheralEnable(xGPIOSPinToPeripheralId(SENSOR_SHIELD_TWI_SDA));
    xSysCtlPeripheralEnable(xGPIOSPinToPeripheralId(SENSOR_SHIELD_TWI_SCK));

    //
    // Enable the I2Cx which is connected with device
    //
    xSysCtlPeripheralEnable2(sI2C_BASE);

    //
    // Set BH1750_PIN_I2C_CLK as CLK
    //
    sPinTypeI2C(sI2C_BASE);

    //
    // Configure MCU as a master device and Set Clcok Rates
    //
    xI2CMasterInit(sI2C_BASE, 100000);
    xI2CMasterEnable(sI2C_BASE);
#endif

#if(SENSOR_SHIELD_UART_USED > 0)
    xSysCtlPeripheralEnable2(sUART_BASE);
    xSysCtlPeripheralClockSourceSet(xSYSCTL_UART1_MAIN, 1);
    sPinTypeUART(sUART_BASE);
    xUARTConfigSet(sUART_BASE, 115200, (xUART_CONFIG_WLEN_8 |
                                        xUART_CONFIG_STOP_1 |
                                        xUART_CONFIG_PAR_NONE));
#endif
}
Esempio n. 14
0
//*****************************************************************************
//
//! \brief Initialize the sensor shield board.
//!
//! \param None.
//!
//! Initialize the sensor shield board.
//!
//! \return None
//
//*****************************************************************************
void
SensorShieldInit(void)
{
	xSysCtlPeripheralEnable(xGPIOSPinToPeripheralId(SENSOR_SHIELD_O0));
	xSysCtlPeripheralEnable(xGPIOSPinToPeripheralId(SENSOR_SHIELD_O1));
	xSysCtlPeripheralEnable(xGPIOSPinToPeripheralId(SENSOR_SHIELD_O2));
	xSysCtlPeripheralEnable(xGPIOSPinToPeripheralId(SENSOR_SHIELD_O3));
	xSysCtlPeripheralEnable(xGPIOSPinToPeripheralId(SENSOR_SHIELD_O4));
	xSysCtlPeripheralEnable(xGPIOSPinToPeripheralId(SENSOR_SHIELD_O5));
	xSysCtlPeripheralEnable(xGPIOSPinToPeripheralId(SENSOR_SHIELD_I0));
	xSysCtlPeripheralEnable(xGPIOSPinToPeripheralId(SENSOR_SHIELD_I1));
	xSysCtlPeripheralEnable(xGPIOSPinToPeripheralId(SENSOR_SHIELD_I2));
	xSysCtlPeripheralEnable(xGPIOSPinToPeripheralId(SENSOR_SHIELD_I3));
	xSysCtlPeripheralEnable(xGPIOSPinToPeripheralId(SENSOR_SHIELD_I4));
	xSysCtlPeripheralEnable(xGPIOSPinToPeripheralId(SENSOR_SHIELD_I5));
#if(SENSOR_SHIELD_OUT_USED > 0)

    xGPIOSPinTypeGPIOOutput(SENSOR_SHIELD_O0);
    xGPIOSPinTypeGPIOOutput(SENSOR_SHIELD_O1);
    xGPIOSPinTypeGPIOOutput(SENSOR_SHIELD_O2);
    xGPIOSPinTypeGPIOOutput(SENSOR_SHIELD_O3);
    xGPIOSPinTypeGPIOOutput(SENSOR_SHIELD_O4);
    xGPIOSPinTypeGPIOOutput(SENSOR_SHIELD_O5);
    //xSysCtlPeripheralEnable2();
#endif

#if((SENSOR_SHIELD_IN0_USED == SENSOR_SHIELD_IN_ANALOG) ||                    \
    (SENSOR_SHIELD_IN1_USED == SENSOR_SHIELD_IN_ANALOG) ||                    \
    (SENSOR_SHIELD_IN2_USED == SENSOR_SHIELD_IN_ANALOG) ||                    \
    (SENSOR_SHIELD_IN3_USED == SENSOR_SHIELD_IN_ANALOG) ||                    \
    (SENSOR_SHIELD_IN4_USED == SENSOR_SHIELD_IN_ANALOG) ||                    \
    (SENSOR_SHIELD_IN5_USED == SENSOR_SHIELD_IN_ANALOG))

    xSysCtlPeripheralEnable(xGPIOSPinToPeripheralId(sD45));

    //
    // Set ADCCLK prescaler, ADCCLK=PCLK2(max 72MHz)/Div(Div:2,4,6,8)
    // You should set ADCCLK < 14MHz to ensure the accuracy of ADC
    //
    xSysCtlPeripheralClockSourceSet(xSYSCTL_ADC0_MAIN, 8);
    //
    // Enable Peripheral ADC clock
    //
    xSysCtlPeripheralEnable(xSYSCTL_PERIPH_ADC1);


    //
    // Enable the ADC conversion
    //
    xADCEnable(sADC_BASE);

    //
    // The two sentences below configure ADC to scan mode, continuous convert, software trigger.
    //
    xADCConfigure(sADC_BASE, xADC_MODE_SCAN_SINGLE_CYCLE, ADC_TRIGGER_PROCESSOR);
    xADCConfigure(sADC_BASE, xADC_MODE_SCAN_CONTINUOUS, ADC_TRIGGER_PROCESSOR);

    //
    // Configure channel step by step.(Max 4 steps, the 2nd parameter start from 0, max is 3)
    // Must not jump over a step, or the ADC result may be in wrong position.
    //
    xADCStepConfigure(sADC_BASE, 0, sADC_CH0);
    xADCStepConfigure(sADC_BASE, 1, sADC_CH1);
    xADCStepConfigure(sADC_BASE, 2, sADC_CH2);
    xADCStepConfigure(sADC_BASE, 3, sADC_CH3);

#endif

#if(SENSOR_SHIELD_IN0_USED == SENSOR_SHIELD_IN_ANALOG)
    sA0PinTypeADC();
#elif (SENSOR_SHIELD_IN0_USED == SENSOR_SHIELD_IN_DIGITAL)
    xGPIOSPinTypeGPIOInput(SENSOR_SHIELD_I0);
#endif

#if(SENSOR_SHIELD_IN1_USED == SENSOR_SHIELD_IN_ANALOG)
    sA1PinTypeADC();
#elif (SENSOR_SHIELD_IN1_USED == SENSOR_SHIELD_IN_DIGITAL)
    xGPIOSPinTypeGPIOInput(SENSOR_SHIELD_I1);
#endif

#if(SENSOR_SHIELD_IN2_USED == SENSOR_SHIELD_IN_ANALOG)
    sA2PinTypeADC();
#elif (SENSOR_SHIELD_IN2_USED == SENSOR_SHIELD_IN_DIGITAL)
    xGPIOSPinTypeGPIOInput(SENSOR_SHIELD_I2);
#endif

#if(SENSOR_SHIELD_IN3_USED == SENSOR_SHIELD_IN_ANALOG)
    sA3PinTypeADC();
#elif (SENSOR_SHIELD_IN3_USED == SENSOR_SHIELD_IN_DIGITAL)
    xGPIOSPinTypeGPIOInput(SENSOR_SHIELD_I3);
#endif

#if(SENSOR_SHIELD_IN4_USED == SENSOR_SHIELD_IN_ANALOG)||  \
       (SENSOR_SHIELD_IN4_USED == SENSOR_SHIELD_IN_DIGITAL)
    xGPIOSPinTypeGPIOInput(SENSOR_SHIELD_I4);
#endif

#if(SENSOR_SHIELD_IN5_USED == SENSOR_SHIELD_IN_ANALOG)||  \
	   (SENSOR_SHIELD_IN5_USED == SENSOR_SHIELD_IN_DIGITAL)
    xGPIOSPinTypeGPIOInput(SENSOR_SHIELD_I5);
#endif

#if(SENSOR_SHIELD_I2C_USED > 0)
    //
    // Enable the GPIOx port which is connected with I2C
    //
    xSysCtlPeripheralEnable(xGPIOSPinToPeripheralId(SENSOR_SHIELD_TWI_SDA));
    xSysCtlPeripheralEnable(xGPIOSPinToPeripheralId(SENSOR_SHIELD_TWI_SCK));

    //
    // Enable the I2Cx which is connected with device
    //
    xSysCtlPeripheralEnable2(sI2C_BASE);

    //
    // Set BH1750_PIN_I2C_CLK as CLK
    //
    sPinTypeI2C(sI2C_BASE);

    //
    // Configure MCU as a master device and Set Clcok Rates
    //
    xI2CMasterInit(sI2C_BASE, 100000);
    xI2CMasterEnable(sI2C_BASE);
#endif

#if(SENSOR_SHIELD_UART_USED > 0)
    xSysCtlPeripheralEnable2(sUART_BASE);
//    xSysCtlPeripheralClockSourceSet(xSYSCTL_UART1_MAIN, 1);
    sPinTypeUART(sUART_BASE);
    xUARTConfigSet(sUART_BASE, 115200, (xUART_CONFIG_WLEN_8 |
                                        xUART_CONFIG_STOP_1 |
                                        xUART_CONFIG_PAR_NONE));
#endif
}