
#include "stm32f10x.h"
#include "./lcd/bsp_ili9341_lcd.h"
#include <stdio.h>
static void LCD_Test(void);
static void Delay ( __IO uint32_t nCount );
void Printf_Charater(void) ;
int main ( void )
{
ILI9341_Init (); //LCD 初始化
USART_Config();
while ( 1 )
{
LCD_Test();
}
}
/*用于測驗各種液晶的函式*/
void LCD_Test(void)
{
/*演示顯示變數*/
static uint8_t testCNT = 0;
char dispBuff[100];
testCNT++;
LCD_SetFont(&Font8x16);
LCD_SetColors(RED,BLACK);
ILI9341_Clear(0,0,LCD_X_LENGTH,LCD_Y_LENGTH); /* 清屏,顯示全黑 */
/********顯示字串示例*******/
ILI9341_DispStringLine_EN(LINE(0),"BH 3.2_2.8 inch LCD para:");
ILI9341_DispStringLine_EN(LINE(1),"Image resolution:240x320 px");
ILI9341_DispStringLine_EN(LINE(2),"ILI9341 LCD driver");
ILI9341_DispStringLine_EN(LINE(3),"XPT2046 Touch Pad driver");
/********顯示變數示例*******/
LCD_SetFont(&Font16x24);
LCD_SetTextColor(GREEN);
/*使用c標準庫把變數轉化成字串*/
sprintf(dispBuff,"Count : %d ",testCNT);
LCD_ClearLine(LINE(4)); /* 清除單行文字 */
/*然后顯示該字串即可,其它變數也是這樣處理*/
ILI9341_DispStringLine_EN(LINE(4),dispBuff);
/*******顯示圖形示例******/
LCD_SetFont(&Font24x32);
/* 畫直線 */
LCD_ClearLine(LINE(4));/* 清除單行文字 */
LCD_SetTextColor(BLUE);
ILI9341_DispStringLine_EN(LINE(4),"Draw line:");
LCD_SetTextColor(RED);
ILI9341_DrawLine(50,170,210,230);
ILI9341_DrawLine(50,200,210,240);
LCD_SetTextColor(GREEN);
ILI9341_DrawLine(100,170,200,230);
ILI9341_DrawLine(200,200,220,240);
LCD_SetTextColor(BLUE);
ILI9341_DrawLine(110,170,110,230);
ILI9341_DrawLine(130,200,220,240);
Delay(0xFFFFFF);
ILI9341_Clear(0,16*8,LCD_X_LENGTH,LCD_Y_LENGTH-16*8); /* 清屏,顯示全黑 */
/*畫矩形*/
LCD_ClearLine(LINE(4)); /* 清除單行文字 */
LCD_SetTextColor(BLUE);
ILI9341_DispStringLine_EN(LINE(4),"Draw Rect:");
LCD_SetTextColor(RED);
ILI9341_DrawRectangle(50,200,100,30,1);
LCD_SetTextColor(GREEN);
ILI9341_DrawRectangle(160,200,20,40,0);
LCD_SetTextColor(BLUE);
ILI9341_DrawRectangle(170,200,50,20,1);
Delay(0xFFFFFF);
ILI9341_Clear(0,16*8,LCD_X_LENGTH,LCD_Y_LENGTH-16*8); /* 清屏,顯示全黑 */
/* 畫圓 */
LCD_ClearLine(LINE(4)); /* 清除單行文字 */
LCD_SetTextColor(BLUE);
ILI9341_DispStringLine_EN(LINE(4),"Draw Cir:");
LCD_SetTextColor(RED);
ILI9341_DrawCircle(100,200,20,0);
LCD_SetTextColor(GREEN);
ILI9341_DrawCircle(100,200,10,1);
LCD_SetTextColor(BLUE);
ILI9341_DrawCircle(140,200,20,0);
Delay(0xFFFFFF);
ILI9341_Clear(0,16*8,LCD_X_LENGTH,LCD_Y_LENGTH-16*8); /* 清屏,顯示全黑 */
}
static void Delay ( __IO uint32_t nCount )
{
for ( ; nCount != 0; nCount -- );
}
uj5u.com熱心網友回復:
原子的程式 串口1,必須要初始化,且正確。不然就是白屏!希望不要和我當初犯的錯誤一樣!!!uj5u.com熱心網友回復:
因為LCD_Init()里有pinft串口輸出ID,如果main里不初始化Uart的話,或者先LCD_Init()后Uart_Init(),都會出現下載后無反應;且初始化串口必須設定系統中斷優先級;
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/225714.html
標籤:硬件使用
