86 lines
2.3 KiB
C
86 lines
2.3 KiB
C
/**************************************************************************//**
|
|
* @file wm_lcd.c
|
|
* @author
|
|
* @version
|
|
* @date
|
|
* @brief
|
|
*
|
|
* Copyright (c) 2014 Winner Microelectronics Co., Ltd. All rights reserved.
|
|
*****************************************************************************/
|
|
#include "wm_include.h"
|
|
|
|
#if DEMO_LCD
|
|
#include "wm_osal.h"
|
|
#include "wm_lcd.h"
|
|
#include "wm_io.h"
|
|
#include "wm_pmu.h"
|
|
|
|
/*********************************************************
|
|
Available COM and SEGMENT
|
|
|
|
COM00:PB_25 COM01:PB_21 COM02:PB_22 COM03:PB_27 COM04:PB_28 COM05:PB_29 COM06:PB_30 COM07:PB_31
|
|
|
|
SEG00:PB_23 SEG01:PB_26 SEG02:PB_24 SEG03:PA_07 SEG04:PA_08 SEG05:PA_09 SEG06:PA_10 SEG07:PA_11
|
|
SEG08:PA_12 SEG09:PA_13 SEG10:PA_14 SEG11:PA_15 SEG12:PB_00 SEG13:PB_01 SEG14:PB_02 SEG15:PB_03
|
|
SEG16:PB_04 SEG17:PB_05 SEG18:PB_06 SEG19:PB_07 SEG20:PB_08 SEG21:PB_09 SEG22:PB_10 SEG23:PB_11
|
|
SEG24:PB_12 SEG25:PB_13 SEG26:PB_14 SEG27:PB_15 SEG28:PB_16 SEG29:PB_17 SEG30:PB_18 SEG31:PA_06
|
|
********************************************************/
|
|
/*test lcd output after cfg lcd and make lcd pin output fixed state*/
|
|
void lcd_test(void)
|
|
{
|
|
int i,j;
|
|
tls_lcd_options_t lcd_opts = {
|
|
true,
|
|
BIAS_ONEFOURTH,
|
|
DUTY_ONEEIGHTH,
|
|
VLCD31,
|
|
4,
|
|
60,
|
|
};
|
|
/* COM 0-3 */
|
|
tls_io_cfg_set(WM_IO_PB_25, WM_IO_OPTION6);
|
|
tls_io_cfg_set(WM_IO_PB_21, WM_IO_OPTION6);
|
|
tls_io_cfg_set(WM_IO_PB_22, WM_IO_OPTION6);
|
|
tls_io_cfg_set(WM_IO_PB_27, WM_IO_OPTION6);
|
|
|
|
/* SEG 0-5 */
|
|
tls_io_cfg_set(WM_IO_PB_23, WM_IO_OPTION6);
|
|
tls_io_cfg_set(WM_IO_PB_26, WM_IO_OPTION6);
|
|
tls_io_cfg_set(WM_IO_PB_24, WM_IO_OPTION6);
|
|
tls_io_cfg_set(WM_IO_PA_07, WM_IO_OPTION6);
|
|
tls_io_cfg_set(WM_IO_PA_08, WM_IO_OPTION6);
|
|
tls_io_cfg_set(WM_IO_PA_09, WM_IO_OPTION6);
|
|
tls_open_peripheral_clock(TLS_PERIPHERAL_TYPE_LCD);
|
|
|
|
/*enable output valid*/
|
|
tls_reg_write32(HR_LCD_COM_EN, 0xF);
|
|
tls_reg_write32(HR_LCD_SEG_EN, 0x3F);
|
|
|
|
tls_lcd_init(&lcd_opts);
|
|
|
|
while(1)
|
|
{
|
|
for(i=0; i<4; i++)
|
|
{
|
|
for(j=0; j<6; j++)
|
|
{
|
|
tls_lcd_seg_set(i, j, 1);
|
|
tls_os_time_delay(500);
|
|
printf("%d %d %d\n", i, j, 1);
|
|
}
|
|
}
|
|
|
|
for(i=0; i<4; i++)
|
|
{
|
|
for(j=0; j<6; j++)
|
|
{
|
|
tls_lcd_seg_set(i, j, 0);
|
|
tls_os_time_delay(500);
|
|
printf("%d %d %d\n", i, j, 0);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
#endif
|
|
|