Exemplo n.º 1
0
void LcdI2c::init(void){

    //switch to 4 bit mode 
    send4(0x03,LCD_CMD);
    delay(100000);
    send4(0x03,LCD_CMD);
    delay(100000);
    send4(0x03,LCD_CMD);
    delay(100000);
    send4(0x02,LCD_CMD);
    delay(100000);
    //done

    //setup driver
    cmd8(LCD_FUNCTIONSET |  LCD_4BITMODE | LCD_2LINE | LCD_5x8DOTS);
    delay(100000);
    cmd8(LCD_CURSORSHIFT | LCD_MOVERIGHT | LCD_CURSORMOVE );
    delay(100000);
    cmd8(LCD_DISPLAYCONTROL | LCD_DISPLAYON  | LCD_CURSOROFF | LCD_BLINKOFF );
    delay(100000);
    cmd8(LCD_RETURNHOME ) ;   
    delay(100000);
    cmd8(LCD_CLEARDISPLAY);
    delay(100000);

    setBacklight(0);


}
Exemplo n.º 2
0
/*****************************************************************************
* 函 数 名  : hsUartSend
*
* 功能描述  : HS UART发送数据接口函数
*
* 输入参数  : UINT32  u32SrcAddr       需发送的数据的首地址
*             UINT32  u32TransLength   需发送的数据的长度
*
* 输出参数  : 无
* 返 回 值  : OK       成功
*             ERROR    失败
*
* 修改记录  :2010年12月16日   鲁婷  创建
*****************************************************************************/
HSUART_STATUS hsUartSend(UINT8 * pucSrcAddr, UINT32 u32TransLength)
{
//    UINT32 regval;
    UINT8 * pu8Buffer;
    UINT32 ulTimes;
    UINT32 ulLeft;

    /* 参数的有效性检查 */
    if((NULL == pucSrcAddr) || (0 == u32TransLength))
    {
    	return HSUART_STATUS_PARA_ERR;
    }

    pu8Buffer = pucSrcAddr;

    ulTimes = u32TransLength / 4;
    ulLeft = u32TransLength % 4;

    send4((UINT32*)pu8Buffer, ulTimes); /*lint !e826*/
    pu8Buffer = pu8Buffer + ulTimes*4;

    if(ulLeft == 1)
    {
        send1(pu8Buffer, 1);
    }
    else if(ulLeft == 2)
    {
        send2((UINT16*)pu8Buffer, 1); /*lint !e826*/
    }
    else if(ulLeft == 3)
    {
        send2((UINT16*)pu8Buffer, 1); /*lint !e826*/
        pu8Buffer = pu8Buffer + 1*2;
        send1(pu8Buffer, 1);
    }

    return HSUART_STATUS_OK;
}