📄 main.c
字号:
y1=y;
for(i=0;i<16;i++)
{
x1=x;
temp=Hanzi[i];
for(j=0;j<16;j++)
{
if(temp & 0x8000)
{
Set_pixel(x1,y1,0x00);
temp=temp<<1;
x1++;
}
else
{
temp=temp<<1;
x1++;
}
}
y1++;
}
}
//***************************************************************/
//*函数名:Disp_Hanzi */
//*输入参数:点坐标(X,Y) */
//* color :颜色 */
//*输出: 无 */
//*功能: 设置某一点的颜色 */
//***************************************************************/
void Disp_Hanzi8( U8 Hanzi[],u16 x,u16 y)
{
u16 i,j;
U8 temp;
u16 x1,y1;
y1=y;
for(i=0;i<32;i++)
{
temp=Hanzi[i];
for(j=0;j<8;j++)
{
if(temp & 0x80)
{
Set_pixel(x1,y1,0x00);
temp=temp<<1;
x1++;
}
else
{
temp=temp<<1;
x1++;
}
}
if(i%2==1)
{ y1++;
x1=x;
}
}
// LCD_Refresh() ;
}
//***************************************************************/
//*函数名:Disp_Hanzi */
//*输入参数:点坐标(X,Y) */
//* color :颜色 */
//*输出: 无 */
//*功能: 设置某一点的颜色 */
//***************************************************************/
void setshu(U16 x,U16 y,U16 shu)
{
int j;
u16 temp;
u16 x1,y1;
x1=x;
y1=y;
temp=shu;
for(j=0;j<16;j++)
{
if(temp & 0x80)
{
Set_pixel(x1,y1,0x00);
temp=temp<<1;
}
else
{ temp=temp<<1;
x1++;
}
}
}
//***************************************************************/
//*函数名:dispscore */
//*输入参数:data */
//* color :颜色 */
//*输出: u16 */
//*功能: 实现一整数的转换 */
//***************************************************************/
u16 dispscore(u16 data)
{
char score[6];
score[0]=data/100+0x30;
score[1]=(data/10)%10+0x30;
score[2]=data%10+0x30;
score[3]=0x30;
score[4]=0x30;
score[5]=0x00;
return(score);
}
//////////////////////////////////////////////////////////////////////////
//***************************************************************/
//*函数名:Disp_Hanzi */
//*输入参数:点坐标(X,Y) */
//* color :颜色 */
//*输出: 无 */
//*功能: 设置某一点的颜色 */
//***************************************************************/
/* void dispscore(U16 shuzhi)
{
u16 shu;
shu=shuzhi;
score[0]=data/100+0x30;
score[1]=(data/10)%10+0x30;
score[2]=data%10+0x30;
score[3]=0x30;
score[4]=0x30;
score[5]=0x00;
}//*/
/////////////////////////////////////////////////////
// Main function. //
////////////////////////////////////////////////////
int main(void)
{
ARMTargetInit(); //开发板初始化
OSInit(); //操作系统初始化
uHALr_ResetMMU();//复位MMU
LCD_Init(); //初始化LCD模块
LCD_printf("LCD initialization is OK\n");//向液晶屏输出数据
LCD_printf("320 x 240 Text Mode\n");
initOSGUI();//初始化图形界面
LoadFont();//调Unicode字库
LoadConfigSys();//使用config.sys文件配置系统设置
LCD_printf("Create task on uCOS-II...\n");
OSTaskCreate(Main_Task, (void *)0, (OS_STK *)&Main_Stack[STACKSIZE*8-1], Main_Task_Prio);// 创建系统任务
OSAddTask_Init();//创建系统附加任务
LCD_printf("Starting uCOS-II...\n");
LCD_printf("Entering graph mode...\n");
LCD_ChangeMode(DspGraMode);//变LCD显示模式为文本模式
InitRtc();//初始化系统时钟
Nand_Rw_Sem=OSSemCreate(1); //创建Nand-Flash读写控制权旗语,初值为1满足互斥条件//
OSStart();//操作系统任务调度开始
//不会执行到这里
return 0;
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void Main_Task(void *Id) //Main_Test_Task
{
POSMSG pMsg;
int oldrang_x,oldrang_y;
PDC pdc;
char zhanji[6];
U16 fengshu[6];
u16 i;
pdc=CreateDC();
ClearScreen();
SetKuang( pdc, 0x00, 5, 12, 7, 309, 234) ;
Setbk(pdc, 0x00ff00, 20 );
for(i=0;i<100;i++)
{
volatile u16 data1;
data1+=1;
zhanji= dispscore(data1);
strChar2Unicode(fengshu, zhanji);
TextOut(pdc, 134, 70, fengshu, TRUE,FONTSIZE_MIDDLE);
LCD_Refresh();
OSTimeDly(300);
}
LCD_Refresh();
//Disp_Hanzi8(Hanzi02, 60, 60);
//TextOut(pdc, 70, 70, fengshu, TRUE,FONTSIZE_SMALL);
while(1);
DestoryDC(pdc);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -