📄 unit1.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#include <stdlib.h>
#include <stdio.h>
#pragma hdrstop
#include "Unit1.h"
#define x_time 100
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
int lcd_zsprint(int ch);
int i_data,x,y;
static int ZS_data,time_data,time_tz,ZS_data_min=100,ZS_data_max;
void LCD_back(void);
extern void lcd_layer_setpixel(int x,int y,int color);
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
Memo1->ScrollBars=ssVertical;
com3.Open(Read_comid());
com3.SetState(ComboBox2->Text.ToInt(),8,NOPARITY,1);
com3.SetWnd(Handle);
//com2.Open(2);
//com2.SetWnd(Handle);
if(!com3.IsOpen())
ShowMessage("can not open com1");
//if(!com2.IsOpen())
// ShowMessage("can not open com2");
LCD_back();
}
//---------------------------------------------------------------------------
LRESULT __fastcall TForm1::OnComRecv(TMessage &msg)
{
AnsiString str;
int number,DATA,k;
char CH,CL;
uint8 buf[1024];
if(msg.WParam == 3)
{
//str += com3.ReadString(buf, 1024,3000);
number=com3.Read(buf, 1024);
}
for(k=0;k<number;)
{
if((buf[k]==0xff)&&(buf[k+3]==0xfe))
{
CH=buf[k+1];
CL=buf[k+2];
DATA=(CH<<8)+CL;
//Testem_data_num.PCA_buf[i]=DATA;
//printf("Read data is %d\n",CH);
lcd_zsprint(DATA);
//ShowMessage(ZS_data);
CH=0;
CL=0;
i_data++;
if(i_data>=10000)
{
i_data=0;
//printf("Zssize out\n");
}
k+=4;
}
if(x>=400)
{
LCD_back();
x=0;
y=0;
}
}
//Memo1->Lines->Strings[Memo1->Lines->Count-1]=Memo1->Lines->Strings[Memo1->Lines->Count-1]+str;
//Memo1->SelStart=Memo1->Text.Length();
return 0;
}
void __fastcall TForm1::Button1Click(TObject *Sender)
{
com3.Write(Edit1->Text.c_str());
}
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
{
com3.Open(Read_comid(),ComboBox2->Text.ToInt());
com3.SetState(ComboBox2->Text.ToInt(),8,NOPARITY,1);
//ShowMessage(ComboBox2->Text.ToInt());
com3.SetWnd(Handle);
//com2.Open(2);
//com2.SetWnd(Handle);
if(!com3.IsOpen())
ShowMessage("can not open com");
//if(!com2.IsOpen())
// ShowMessage("can not open com2");
}
//---------------------------------------------------------------------------
int __fastcall TForm1::Read_comid(void)
{
char *s;
s=ComboBox1->Text.c_str();
return((*(s+3)-'0'));
}
void __fastcall TForm1::Button4Click(TObject *Sender)
{
com3.Close();
}
//---------------------------------------------------------------------------
int lcd_zsprint(int ch) //显示转速
{
time_data=time_data+ch*2;
time_tz=time_tz+ch*2;
if(ch==0) return 0;
ZS_data=(int)(10000000/(ch*11*11)); //11=1.085us*10
if(ZS_data>=150)
{
ZS_data=0;
return 0;
}
if((time_data*1085/100000)>=x_time)
{
x=x+(time_data*1085/100000)/x_time;
time_data=0;
}
if(time_tz>=100000)
{
time_tz=0;
}
y=150-ZS_data;
lcd_layer_setpixel(x,y,0xff0000);
Form1->Edit3->Text=ZS_data;
ZS_data_max=ZS_data_max<ZS_data?ZS_data:ZS_data_max;
ZS_data_min=ZS_data_min>ZS_data?ZS_data:ZS_data_min;
Form1->Edit4->Text=ZS_data_max;
Form1->Edit5->Text=ZS_data_min;
Form1->Image1->Refresh();
return 1;
}
void LCD_back(void)
{
int i,j;
busybox_all(0,0,400,300,0x00);
for(i=0;i<300;i+=10)
{
line_hang(0,i,400,RGB(100,100,100));
}
for(j=0;j<400;j+=10)
{
line_lie(j,0,300,RGB(100,100,100));
}
return ;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -