| 
 
| MCU 菜鸟一名。最近调试 lpc1850 LCD 。lcd 主函数如下。lcd 的结构体 const LCD_CONFIG_T EA800x480 已经按照 lcd 的 datasheet 修改了,目前 lcd 屏只有一个光标。 而 看代码,可以发现 for 循环是要在 lcd 上显示 nxp 的 ** 的,但是现在 lcd 屏上没有显示。 谁调试过 1850 的 lcd 屏,请给点提示吧? 
 
 int main(void)
 {
 uint32_t i, j;
 int cursor_x = 100, cursor_y = 150;
 int16_t tmp_x = -1, tmp_y = -1;
 
 
 
 SystemCoreClockUpdate();
 Board_Init();
 Chip_LCD_Init(LPC_LCD, (LCD_CONFIG_T *) &BOARD_LCD);
 //Board_LCD_Init(); // 用 sspi 通信 的小的 lcd 屏
 
 
 SysTick_Config(SystemCoreClock / 1000);
 msec = 5;
 while (msec) {}
 
 
 //        delayMs(10000);
 /* Fill Colorbar only*/
 for (i = 0; i < LCD_WIDTH * LCD_HEIGHT / 4; i++)
 framebuffer[i] = 0x1F;
 for (i = LCD_WIDTH * LCD_HEIGHT / 4; i < LCD_WIDTH * LCD_HEIGHT * 2 / 4; i++)
 framebuffer[i] = 0x3F << 5;
 for (i = LCD_WIDTH * LCD_HEIGHT * 2 / 4; i < LCD_WIDTH * LCD_HEIGHT * 3 / 4; i++)
 framebuffer[i] = 0x1F << 11;
 for (i = LCD_WIDTH * LCD_HEIGHT * 3 / 4; i < LCD_WIDTH * LCD_HEIGHT; i++)
 framebuffer[i] = 0xFFFF;
 /* Fill NXP ** */
 for (j = 0; j < **_HEIGHT; j++)
 for (i = 0; i < **_WIDTH; i++)
 putpixel(i, j, image[(i + j * **_WIDTH)]);
 
 Chip_LCD_Init(LPC_LCD, (LCD_CONFIG_T *) &BOARD_LCD);
 //Board_InitTouchController();
 Chip_LCD_SetUPFrameBuffer(LPC_LCD,  (void *) framebuffer);
 Chip_LCD_PowerOn(LPC_LCD);
 delayMs(100);
 //msec = 100;
 //while (msec) {}
 
 Chip_LCD_Cursor_Disable(LPC_LCD, 0);
 Chip_LCD_Cursor_Config(LPC_LCD, LCD_CURSOR_32x32, true);
 Chip_LCD_Cursor_WriteImage(LPC_LCD, 0, (void *) Cursor);
 Chip_LCD_Cursor_SetClip(LPC_LCD, CURSOR_H_OFS, CURSOR_V_OFS);
 Chip_LCD_Cursor_SetPos(LPC_LCD, cursor_x, cursor_y);
 Chip_LCD_Cursor_Enable(LPC_LCD, 0);
 
 /* Turn on backlight */
 Board_SetLCDBacklight(1);
 delayMs(20);
 //msec = 20;
 //while (msec) {}
 /*
 while (1) {
 Board_GetTouchPos((int16_t *) &tmp_x, (int16_t *) &tmp_y);
 if ((tmp_x >= 0) && (tmp_y >= 0)) {
 cursor_x = tmp_x;
 cursor_y = tmp_y;
 }
 
 if (LCD_WIDTH < cursor_x) {
 cursor_x = LCD_WIDTH - CURSOR_H_OFS;
 }
 
 if (LCD_HEIGHT < cursor_y) {
 cursor_y = (LCD_HEIGHT - CURSOR_V_OFS);
 }
 Chip_LCD_Cursor_SetPos(LPC_LCD, cursor_x, cursor_y);
 }
 */
 | 
 |