標(biāo)題: LPC55S69-EVK開發(fā)板驅(qū)動TFT顯示屏 [打印本頁]
作者: jinglixixi 時間: 2020-11-11 23:01
標(biāo)題: LPC55S69-EVK開發(fā)板驅(qū)動TFT顯示屏
受物趣系列的感召開始學(xué)習(xí)起LPC55S69-EVK開發(fā)板的使用,首先要做的就是讓顯示屏亮起來。且顯示屏的尺寸要盡量合適。太小顯示的內(nèi)容不易分辨,太大的話若顯示屏的分辨率比高,就需要有較高的刷新速度,否則會由于顯示的原因而開銷較多的時間,會影響到對攝像頭獲取數(shù)據(jù)的響應(yīng)。
這里選用的是SPI接口的2.2'串口屏,為便于靈活地選用引腳,特以GPIO口模擬SPI通訊的方式來驅(qū)動該顯示屏的顯示。
該顯示屏與MCU的連接關(guān)系如下:
SCK---PIO1_20
SDI---PIO1_21
D/C---PIO1_2
RST---PIO1_3
CS ---PIO0_26
LED---PIO1_1
相關(guān)引腳輸出高低電平的語句定義為:
#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)
配置相關(guān)引腳為輸出功能的函數(shù)為:
- 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();
- }
復(fù)制代碼
顯示屏顯示圖片的函數(shù)為:
- 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);
- }
- }
- }
復(fù)制代碼
顯示圖示
效果的主程序?yàn)椋?/font>- 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);
- }
復(fù)制代碼
1.jpg (22.53 KB, 下載次數(shù): 79)
下載附件
2020-11-11 22:57 上傳
圖片顯示效果
| 歡迎光臨 (http://www.raoushi.com/bbs/) |
Powered by Discuz! X3.1 |