📄 main.c
字号:
/*************************************************************************/
/* */
/* Copyright Shenzhen Watertek S.&T. Co.,Ltd 2002 */
/* All Rights Reserved. */
/* */
/* THIS WORK CONTAINS TRADE SECRET AND PROPRIETARY INFORMATION WHICH IS */
/* THE PROPERTY OF MENTOR GRAPHICS CORPORATION OR ITS LICENSORS AND IS */
/* SUBJECT TO LICENSE TERMS. */
/* */
/*************************************************************************/
/*************************************************************************/
/* */
/* FILE NAME VERSION */
/* */
/* main.c 1.0*/
/* */
/* */
/* DESCRIPTION */
/* */
/* This file contains macro and main routines */
/* */
/* AUTHOR */
/* Zhi-gang yang shenzhen watertek */
/* */
/* */
/* DATA STRUCTURES */
/* */
/* */
/* FUNCTIONS */
/* */
/* None */
/* */
/* DEPENDENCIES */
/* */
/* None */
/* */
/* HISTORY */
/* */
/* DATE REMARKS */
/* */
/* 2004-12-27 Created initial version 1.0 */
/*************************************************************************/
#include <string.h>
#include <stdarg.h>
#include "2410addr.h"
#include "def.h"
void Led1_On_or_Off(int flag);
void Led2_On_or_Off(int flag);
void Led4_On_or_Off(int flag);
void clrsrc(void);
int setpixel(int x,int y,unsigned short pencolor);
/*************************************************************************/
/* */
/* FUNCTION */
/* */
/* C_Entry */
/* */
/* DESCRIPTION */
/* */
/* C entry function */
/* */
/* AUTHOR */
/* */
/* Zhi-gang Yang shenzhen watertek */
/* */
/* INPUTS */
/* None */
/* */
/* OUTPUTS */
/* */
/* None */
/* */
/* HISTORY */
/* */
/* DATE REMARKS */
/* */
/* 2004-12-28 Created initial version 1.0 */
/*************************************************************************/
void C_Entry()
{
int i,j,k=0;
i=0;
Led4_On_or_Off(TRUE);
while(i++<1000000);
Led4_On_or_Off(FALSE);
clrsrc();
for(i=0;i<240;i++)
for(j=0;j<320;j++)
{
setpixel(j,j,0xff);
}
while(10);
;
}
/****************************************************************************
* FUNCTION
*
* setpixel
*
* DESCRIPTION
*
* This function set the appointed pixel the specified color
*
* CALLED BY
*
*
*
* CALLS
*
* none
*
* INPUTS
*
* int x,int y,unsigned short pencolor
* OUTPUTS
*
* none
*
*
****************************************************************************/
int setpixel(int x,int y,unsigned short pencolor)
{
int movetop; /*THE PIXEL ADDRESS*/
short *p;
if (x<0||x>(int)x_limit) return ERROR;
if (y<0||y>(int)y_limit) return ERROR;
/*指向所要显示的像素偏移地址*/
movetop=(x*x_size+y)*2;//一个像素占两个字节
p=(short *)(VideoAddrStart+movetop);
*p=pencolor;
return 1;
}
void clrsrc(void)
{
short *p;
for(p=(short*)VideoAddrStart;p<(short*)VideoAddrEnd;p++) *p=0;
return ;
}
void Led1_On_or_Off(int flag)
{
int temp;
if(flag ==TRUE) //led1 on
{
//set GPF4
temp = rGPFCON;
rGPFCON = temp |(1<<8);
temp = rGPFDAT;
rGPFDAT = temp&(0<<4);
}
else //led1 off
{
//set GPF4
temp = rGPFCON;
rGPFCON = temp |(1<<8);
temp = rGPFDAT;
rGPFDAT = temp|(1<<4);
}
}
void Led2_On_or_Off(int flag)
{
int temp;
if(flag ==TRUE) //led1 on
{
//set GPF4
temp = rGPFCON;
rGPFCON = temp |(1<<10);
temp = rGPFDAT;
rGPFDAT = temp&(0<<5);
}
else //led1 off
{
//set GPF4
temp = rGPFCON;
rGPFCON = temp |(1<<10);
temp = rGPFDAT;
rGPFDAT = temp|(1<<5);
}
}
void Led3_On_or_Off(int flag)
{
int temp;
if(flag ==TRUE) //led1 on
{
//set GPF4
temp = rGPFCON;
rGPFCON = temp |(1<<12);
temp = rGPFDAT;
rGPFDAT = temp&(0<<6);
}
else //led1 off
{
//set GPF4
temp = rGPFCON;
rGPFCON = temp |(1<<12);
temp = rGPFDAT;
rGPFDAT = temp|(1<<6);
}
}
void Led4_On_or_Off(int flag)
{
int temp;
if(flag ==TRUE) //led1 on
{
//set GPF4
temp = rGPFCON;
rGPFCON = temp |(1<<14);
temp = rGPFDAT;
rGPFDAT = temp&(0<<7);
}
else //led1 off
{
//set GPF4
temp = rGPFCON;
rGPFCON = temp |(1<<14);
temp = rGPFDAT;
rGPFDAT = temp|(1<<7);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -