📄 draw_line.c
字号:
/*****************************************************************************
Filename: native.c
Version: 0.01
Description: calculate measure value
Returns: result
Revision History:
EQH-01, 屈宵军 09/25/04, - Original release
*****************************************************************************/
#include<tms320.h>
#include<math.h>
char STR1[]="L1";
char STR2[]="L2";
char STR3[]="L3";
char STR4[]="V";
char STR6[]="A";
typedef unsigned char Uchar;
void Linehv(Uchar length);
void point(void);
void Linexy(Uchar endx,Uchar endy);
void Fill_data(void);
extern uint col,row,xy;
extern Uchar Wrbyte;
void Draw_Line(void)
{
// Rollscreen(1);
Fill_data();
col=0;
row=0;
xy = 1; /*方向标志。定为水平方向 */
Linehv(192); /*画一条横线(0,0)-(191,0) */
col=0;
row=40;
xy = 1;
Wrbyte=0;
Linehv(192); /*画一条横线(0,15)-(191,15) */
col=0;
row=63;
xy = 1;
Wrbyte=0;
Linehv(192); /*画一条横线(0,32)-(191,32) */
/********************************************************************/
col=0;
row=0;
xy = 0; /*方向标志。定为垂直方向 */
Wrbyte=0;
Linehv(63); /*画一条竖线(0,1)-(0,31) */
/*********************************************************************/
col=63;
row=0;
xy = 0; /*方向标志。定为垂直方向 */
Wrbyte=0;
Linehv(63); /*画一条竖线(0,1)-(0,31) */
col=127;
row=0;
xy = 0; /*方向标志。定为垂直方向 */
Wrbyte=0;
Linehv(63); /*画一条竖线(0,1)-(0,31) */
col=191;
row=0;
xy = 0;
Wrbyte=0;
Linehv(63); /*画一条竖线(191,1)-(191,31) */
col=0; /*设定斜线的起点坐标 */
row=63;
// Linexy(44,31); /*画一段斜线(0,63)-(44,31) */
// col=44;
row=31;
// Linexy(190,62); /*继续画斜线(44,31)-(191,63) */
}
/****************************************/
/*画线。只提供X或Y方向的,不支持斜线 */
/****************************************/
void Linehv(Uchar length)
{
Uchar xs,ys;
if (xy){ys = col;
for (xs=0;xs<length;xs++){
col = ys + xs;
point();}
}
else {xs = row;
for (ys=0;ys<length;ys++){
row = xs + ys;
point();}
}
}
/****************************************/
/* 画点 */
/****************************************/
void point(void)
{
Uchar x1,y1,x,y;
x1=col;
y1=row;
row=y1>>3; /*取Y方向分页地址 */
Rddata();
y=y1&0x07; /*字节内位置计算 */
x=0x01;
x=x<<y; /*移入所画点 */
Wrdata(Wrbyte|x); /*画上屏幕 */
col=x1; /*恢复xy坐标 */
row=y1;
}
void Fill_data(void)
{
col=51;
row=0;
Putstr(STR1,2);
col=51;
row=2;
Putstr(STR2,2);
col=51;
row=4;
Putstr(STR3,2);
col=85;
row=6;
Putstr(STR4,1);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -