📄 main.c
字号:
/**************************************************************************
文件名称: main.c
作者: Andy
版本: 0.1
创建时间 : 2007-04
描述:
文件实现了从BMP图片格式的数据中提取图像数据并将其显示于屏上的功能
修改历史:
****************************************************************************/
#include <cdefBF533.h>
#include "dm_cpu.h"
#include "dm_bf5xx.h"
#include "dm_types.h"
section ("sdram0") unsigned char DisplayBuffer[262][960] ;
section ("sdram0") unsigned char TempBuffer_img[262][960] ;
section ("sdram0") unsigned char Inputdata0[251574]={
#include "bmp1.dat"
};
section ("sdram0") unsigned char Inputdata1[251574]={
#include "bmp2.dat"
};
/****************************************************************************
* 名称 : gbrtorgb24
* 功能 : 从BMP格式图片中提取RGB数据
* 入口参数 :无
* 出口参数 :无
****************************************************************************/
void gbrtorgb24(uint_t f)
{
int_t i,j;
int_t a,b;
for(i=0;i<262;i++)
{
for(j=0;j<960;j++)
{
if(f) TempBuffer_img[i][j] = Inputdata0[i*960+j+54];
else TempBuffer_img[i][j] = Inputdata1[i*960+j+54];
}
}
for(i=0;i<262;i++)
{
for(j=0;j<320;j++)
{
a = TempBuffer_img[i][j*3];
b = TempBuffer_img[i][j*3+2];
TempBuffer_img[i][j*3] = b;
TempBuffer_img[i][j*3+2] = a;
}
}
for(i=0;i<262;i++)
{
for(j=0;j<960;j++)
{
DisplayBuffer[i][j] = TempBuffer_img[261-i][j];
}
}
}
void display(uint_t f)
{
gbrtorgb24(f);
Init_PPIDMA(DisplayBuffer);
Init_Platform_TFT();
}
//定义字形码
uint8_t LED_code[10]={ 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x27,0x7f,0x6f};
/****************************************************************************
* 名称 : leddisplay
* 功能 : 点亮LED,输入要点亮的LED号和要显示的数据
* 入口参数 :LEDNum,data
* 出口参数 :无
****************************************************************************/
void leddisplay(uint8_t LEDNum,uint8_t data)
{
switch(LEDNum)
{
case 1: *pCtrOut_Flag_B = 0x00; break;
case 2: *pCtrOut_Flag_B = LED_A0; break;
default: printf("ERROR!\n"); break;
}
*pLED_DAT_OUT = LED_code[data];
*pCtrIner_Flag_OE = 0x00;
*pCtrIner_Flag_OE = LEDCS;
}
void leddisplay1(uint8_t data)
{
uint8_t i;
*pCtrOut_Flag_B = LED_A1;
i=data%8;
*pLED_DAT_OUT = (0x01<<i);
*pCtrIner_Flag_OE = 0x00;
*pCtrIner_Flag_OE = LEDCS;
}
/****************************************************************************
* 名称 : main
* 功能 : TFT显示图片测试函数
* 入口参数 :无
* 出口参数 :无
****************************************************************************/
int main()
{
int_t i,j;
Set_PLL(22,5); //配置内核时钟为594M,系统时钟为118.8M
Init_SDRAM();
Init_EBIU();
Init_Flash();
//Init_LED_CPLD();
lcd_init();
display(0);
while(1)
{
for(i=0;i<10;i++)
{
//leddisplay(2,i);
for(j=0;j<10;j++)
{
//leddisplay(1,j);
//leddisplay1(j);
mdelay(10000);
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -