受物趣系列的感召开始学习起LPC55S69-EVK开发板的使用,首先要做的就是让显示屏亮起来。且显示屏的尺寸要尽量合适。太小显示的内容不易分辨,太大的话若显示屏的分辨率比高,就需要有较高的刷新速度,否则会由于显示的原因而开销较多的时间,会影响到对摄像头获取数据的响应。 这里选用的是SPI接口的2.2'串口屏,为便于灵活地选用引脚,特以GPIO口模拟SPI通讯的方式来驱动该显示屏的显示。 该显示屏与MCU的连接关系如下: SCK---PIO1_20 SDI---PIO1_21 D/C---PIO1_2 RST---PIO1_3 CS ---PIO0_26 LED---PIO1_1 相关引脚输出高低电平的语句定义为: #define LCD_SCK_Low() GPIO_PinWrite(GPIO, 1u, 20u, 0) //CLK #define LCD_SCK_High() GPIO_PinWrite(GPIO, 1u, 20u, 1) #define LCD_SDI_Low() GPIO_PinWrite(GPIO, 1u, 21u, 0) //DIN #define LCD_SDI_High() GPIO_PinWrite(GPIO, 1u, 21u, 1) #define LCD_REST_Low() GPIO_PinWrite(GPIO, 1u, 2u, 0) //RES #define LCD_REST_High() GPIO_PinWrite(GPIO,1u, 2u, 1) #define LCD_DC_Low() GPIO_PinWrite(GPIO, 1u, 3u, 0) //DC #define LCD_DC_High() GPIO_PinWrite(GPIO, 1u, 3u, 1) #define LCD_CS_Low() GPIO_PinWrite(GPIO, 0u, 26u, 0) //CS #define LCD_CS_High() GPIO_PinWrite(GPIO, 0u, 26u, 1) #define LCD_LED_Low() GPIO_PinWrite(GPIO, 1u, 1u, 0) //BLK #define LCD_LED_High() GPIO_PinWrite(GPIO, 1u, 1u, 1) 配置相关引脚为输出功能的函数为: - void app_tft_init(void)
- {
- gpio_pin_config_t gpioPinConfig;
- gpioPinConfig.pinDirection = kGPIO_DigitalOutput;
- gpioPinConfig.outputLogic = 1u;
- GPIO_PinInit (GPIO, 1u, 20u, &gpioPinConfig);
- GPIO_PinInit (GPIO, 1u, 21u, &gpioPinConfig);
- GPIO_PinInit (GPIO, 1u, 2u, &gpioPinConfig);
- GPIO_PinInit (GPIO, 1u, 3u, &gpioPinConfig);
- GPIO_PinInit (GPIO, 0u, 26u, &gpioPinConfig);
- GPIO_PinInit (GPIO, 1u, 1u, &gpioPinConfig);
- LCD_LED_High();
- }
复制代码 显示屏显示图片的函数为: - void show_pic(const unsigned char *p)
- {
- int i,j;
- unsigned char picH,picL;
- Address_set(0,0,LCD_W-1,LCD_H-1);
- for(i=0;i<240;i++)
- {
- for(j=0;j<320;j++)
- {
- picH=*p++;
- picL=*p++;
- LCD_WR_DATA8(picH);
- LCD_WR_DATA8(picL);
- }
- }
- }
复制代码
显示图示 效果的主程序为:- int main(void)
- {
- volatile uint8_t s_KeyValue = 0;
- POWER_SetBodVbatLevel(kPOWER_BodVbatLevel1650mv, kPOWER_BodHystLevel50mv, false);
- BOARD_BootClockFROHF96M();
- SystemCoreClockUpdate();
- if (SysTick_Config(SystemCoreClock / 1000U))
- {
- while (1)
- {
- }
- }
- app_tft_init();
- SysTick_DelayTicks(500);
- tft_Init();
- LCD_Clear(WHITE);
- show_pic(gImage_123);
- while(1);
- }
复制代码
图片显示效果
|