金牌会员
 
- 积分
- 1103
- 金钱
- 1103
- 注册时间
- 2017-3-10
- 在线时间
- 173 小时
|

楼主 |
发表于 2017-4-10 15:39:12
|
显示全部楼层
[mw_shl_code=applescript,true]
#include "stm32f10x.h"
#include "LCD_RA8875.h"
#include "bsp_tft_lcd.h"
#include "fonts.h"
#include "usart.h"
extern unsigned char gImage_11[];//19206
//配置系统时钟,使能各外设时钟
void RCC_Configuration(void)
{
ErrorStatus HSEStartUpStatus; //定义枚举类型变量HSEStartUpStatus
RCC_DeInit(); //复位系统时钟
RCC_HSEConfig(RCC_HSE_ON); //开启HSE
HSEStartUpStatus = RCC_WaitForHSEStartUp(); //等待HSE起振
if(HSEStartUpStatus == SUCCESS)
{
FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);
FLASH_SetLatency(FLASH_Latency_2);
RCC_HCLKConfig(RCC_SYSCLK_Div1); //选择HCLK时钟源为SYSCLK1分频
RCC_PCLK2Config(RCC_HCLK_Div1); //选择PCLK2的时钟源为HCLK1分频
RCC_PCLK1Config(RCC_HCLK_Div2); //选择PCLK1的时钟源为HCLK2分频
RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9); //选择PLL时钟源为HSE1分频,9倍频
RCC_PLLCmd(ENABLE); //使能PLL
while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET); //等待PLL输出稳定
RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK); //系统时钟为PLL
while(RCC_GetSYSCLKSource() != 0x08); //等待PLL为系统时钟源
}
// RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOC
// |RCC_APB2Periph_GPIOD | RCC_APB2Periph_GPIOE
// , ENABLE );
}
void Delay(uint32_t Time)
{
uint32_t i;
i = 0;
while (Time--)
{
for (i = 0; i < 8000; i++);
}
}
/*****************************************************************************
** Main Function main()
******************************************************************************/
int main(void)
{
//char data[60]={'0x33','0x34','0x61'};
FONT_T tFont; //定义一个字体结构体变量,用于设置字体参数
tFont.usFontCode = FC_ST_16; //字体代码 16点阵
tFont.usTextColor = RED; // 字体颜色
tFont.usBackColor = WHITE; //文字背景颜色
tFont.usSpace = 0; //文字间距,单位 = 像素
RCC_Configuration(); //系统时钟配置
LCD_InitHard();
uart_init(115200);
// RA8875_DispAscii(6,6,"welcome");
// printf(a,"%64x",USART_RX_BUF);
RA8875_Clear(WHITE); //清屏
Delay(1000);
RA8875_SetFrontColor(RED);
/*此段显示来自8875内部内建8x16 点的ASCII 字型*/
// RA8875_DispAscii(0, 0, "System startup,please wait...");
while(1)
{
// USART_SendData(USART1, 0x41);
// Delay(3000);
if(usart_cmd==0x00)
{
RA8875_Clear(RED);
Delay(1000);
}
else if(usart_cmd==0x01)
{
RA8875_DispAscii(0,0,"System startup,please wait...");
}
else if(usart_cmd==0x02)
{
}
}
// tFont.usTextColor = RED;
// RA8875_DispString(320, 292, "显示测试WB-RA8875 34455sdfgsehrt", &tFont);
// /*以下绘图功能由RA8875完成,无需额外的软件图形算法*/
//
// RA8875_FillRect(10, 100, 50, 100, RED); //矩形填充
//
// RA8875_DrawLine(140 , 150 , 180 , 100 , MAGENTA); //画线
//
// RA8875_DrawRect(10,200, 50, 100, BLUE); //画矩形
// RA8875_DrawCircle(360,100,80, GREEN); //画圆
// RA8875_FillCircle(400, 100, 80, BLUE); //蓝色圆形填充
// RA8875_FillCircle(440, 100, 80, RED);
// RA8875_DrawBMP(630, 60, 97, 99,(uint16_t*)gImage_11); //图片显示
// Delay(500);
}
/*------------------------------*/
// RA8875_PutPixel(8,8,RED);
// RA8875_SetBackColor(RED);//设定背景色NO
// RA8875_SetFrontColor(RED);//设定前景色NO
// RA8875_FillRect(0,0,200,400,WHITE);//画矩形填充颜色:OK
// RA8875_DrawRect(0,0,480,800,WHITE);
// RA8875_DrawVLine(0,0,16,RED);//画一条线
// RA8875_DispAscii(0,0,);
// RA8875_Clear(RED);
// Delay(1000);
// RA8875_Clear(GREEN);
// Delay(1000);
// RA8875_Clear(BLUE);
// Delay(1000);
// RA8875_Clear(YELLOW);
// Delay(1000);
// RA8875_Clear(GREY);
// Delay(1000);
// RA8875_Clear(MAGENTA);
// Delay(1000);
// RA8875_Clear(CYAN);
// Delay(1000);
/*----------------------OK-------------------------*/
// RA8875_FillRect(0,0,480,800,WHITE);//画矩形填充颜色:OK
// RA8875_Clear(RED);
// Delay(1000);
/*---------------------有问题----------------------*/
// RA8875_DrawLine(0,0,200,300,RED);//在两点之间画线
/////////////////////////////////
// if(USART_RX_STA[0]=0x68) //如果已经接收到超过字符串长度的字符
// {
// u8 length;
// u8 i=0;
// USART_RX_STA[1]= length ; //找字头
// for(x=0;x<Data_Length-1;x++) //将校验和之前的字符串相加
// {
// sum_check=sum_check+USART_RX_BUF[x];
// }
// if(sum_check==USART_RX_BUF[Data_Length-1]) //判断校验和
// {
// seri_count=0; //为下一次进中断做好准备
// sum_check=0; //校验和清零,准备下一次校验
// }
// }
// }
[/mw_shl_code] |
|