HD44780_RESULT confLCD(void) { if (HD44780_DisplayON(&hd44780) != HD44780_RES_OK) { return HD44780_RES_ERROR; } if (HD44780_ClearDisplay(&hd44780) != HD44780_RES_OK) { return HD44780_RES_ERROR; } if (HD44780_SetLocation(&hd44780, 0, 0) != HD44780_RES_OK) { return HD44780_RES_ERROR; } if (HD44780_WriteString(&hd44780, "Clock:") != HD44780_RES_OK) { return HD44780_RES_ERROR; } return HD44780_RES_OK; }
/************************************************************************* * Function Name: HD44780_Init * Parameters: none * Return: HD44780_ERROR_CODE_DEF * HD44780_OK 0: Pass * HD44780_ERROR 1: Busy check Time Out * Description: Init HD44780 after power-up * *************************************************************************/ HD44780_ERROR_CODE_DEF HD44780_PowerUpInit (void) { Int8U Command; HD4478_Ctrl.DisplayPos = 0; /* Init MCU IO */ HD44780_IO_Init(); /* Power up init sequence */ Dly100us((void *)HD44780_POWER_UP_DLY); HD44780SetRS(0); HD44780WrComm_High(HD44780_FUNCTION_SET+HD44780_FUNCTION_SET_8_BIT); Dly100us((void *)HD44780_FIRST_COMM_DLY); HD44780WrComm_High(HD44780_FUNCTION_SET+HD44780_FUNCTION_SET_8_BIT); Dly100us((void *)HD44780_SECOND_COMM_DLY); HD44780WrComm_High(HD44780_FUNCTION_SET+HD44780_FUNCTION_SET_8_BIT); Dly100us((void *)HD44780_SECOND_COMM_DLY); /* Display Function set */ #if HD44780_BUS_WIDTH == 8 Command = HD44780_FUNCTION_SET + HD44780_FUNCTION_SET_8_BIT; #else HD44780WrComm_High(HD44780_FUNCTION_SET + HD44780_FUNCTION_SET_4_BIT); Dly100us((void *)HD44780_SECOND_COMM_DLY); Command = HD44780_FUNCTION_SET + HD44780_FUNCTION_SET_4_BIT; #endif if (HD4478_Ctrl.Line) { Command |= HD44780_FUNCTION_SET_2_LINE; } if (HD4478_Ctrl.DotMode) { Command |= HD44780_FUNCTION_SET_DOT_5_10; } HD44780WrComm(Command); if (HD44780_BusyCheck(NULL,HD44780_SECOND_COMM_DLY) != HD44780_OK) { return HD44780_ERROR; } /* Display off */ HD44780WrComm(HD44780_DISPLAY_CTRL); if (HD44780_BusyCheck(NULL,HD44780_MAX_COMM_DLY) != HD44780_OK) { return HD44780_ERROR; } /* Display clear */ if (HD44780_ClearDisplay() != HD44780_OK) { return HD44780_ERROR; } #if HD4780_WR == 0 DataRamAddHold = 0; #endif /* Set entry mode */ Command = HD44780_ENTRY_MODE; if (HD4478_Ctrl.AC_Direction) { Command |= HD44780_ENTRY_MODE_INC; } if (HD4478_Ctrl.DisplayShift) { Command |= HD44780_ENTRY_MODE_BOTH_S; } /* Set Display and cursor mode */ if (HD44780_SetMode() != HD44780_OK) { return HD44780_ERROR; } return HD44780_OK; }