void __fastcall TForm1::BitBtn3Click(TObject *Sender)
{
BitBtn3->Caption="增速!";
float x;
x = StrToFloat(speed0->Text);
x +=1;
speed0->Text=FloatToStr(x);
}
这是想实现电机增速运行。转速是浮点格式,按此扭后开始减1,但我不知这样写对不对,编译时通过了,可程序运行时说格式有问题。能不能解释一下。
void __fastcall TForm1::BitBtn5Click(TObject *Sender)
{
BitBtn5->Caption="停机!";
String Buf;
DynamicArray ByteBuf;
Comm1->InputLen = 0;
Buf = Comm1->Input;
ByteBuf.Length =1;
ByteBuf[0]=12;
Comm1->OutputByte(ByteBuf);
}
此段是停电机,我想发送0c这个字节给单片机编译时通过了,可程序运行时说格式有问题。能不能解释一下。
DynamicArray ByteSend3;
long i;
String InputStr;
InputStr=current0->Text ;
ByteSend3.Length= InputStr.Length();
for (i=0;i< ByteSend3.Length;i++)
ByteSend3[i]= StrToInt( InputBuffer[i]);
这一段是想设置一些参数,但不能是设置完就发。因为参数很多我是想让它们先放在一个临时数组里,然后通过按发送数据这个按钮发出去。其中有些数是整形,有些是浮点。前者占2个字节,后者占4 个字节。这样总的字节数为20。不知道我这样想对不对。想让大哥看看!
void __fastcall TForm1::BitBtn7Click(TObject *Sender)
{
DWORD lrc;
int i;
byte ch;
for (i=0;i<=20;i++)
{
ch = StrToFloat(InputBuffer[i]);
WriteFile(hComm,&ch,20,&lrc,NULL);
}
CloseHandle(hComm);
}
这是想实现数据的连发。因为单片机需要的是以字节格式的数据因而我想让临时数组中的数据20个在这里发出去,可程序执行时无法进行!!
以上就是困扰我几日的问题!!想请大哥帮我看看。我是初学者,请各位高手指点!!!
我还想问的是timer组件能实现事件的触发,可就我的这个设计来说哪里能用到呢!!!
先谢了!!!
--------------------next---------------------
阅读(1043) | 评论(0) | 转发(0) |