spcomm的一个小程序,很简单,但是为什么实现不了呢?求解~~~
//---------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
#include "SPComm.hpp"
//---------------------------------------
#pragma package(smart_init)
#pragma link "SPComm"
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
Comm1->StartComm();
ShowMessage("串口已打开");
}
//---------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
unsigned char Send[]={0x31,0x32,0x99,0xaa,0xee};
Comm1->WriteCommData(Send,5);
//Comm1->WriteCommData(Edit1->Text.c_str(),Edit1->Text.Length());
}
//---------------------------------------
void __fastcall TForm1::Comm1ReceiveData(TObject *Sender, Pointer Buffer,
WORD BufferLength)
{
char *Rev=new char[BufferLength];
Move(Buffer,Rev,BufferLength);
Memo1->Text=Memo1->Text+Rev;
// Edit2->Text=Edit2->Text+Rev;
delete[] Rev;
}
//---------------------------------------
界面上要实现的就是单击Button1,Memo1里就会显示send里的数据,串口用的是DB9针,我把针的2脚和3脚短接了,comm口名称在设备里查过也改过了。但是运行时单击按钮并不显示数据,是为什么呢?
我也是初学,不是特别明白里面的机理,高手进来指导吧!程序是资料上找来的。
[解决办法]
先找个串口助手发送接收一下,确认不是硬件的问题
[解决办法]
你跟踪了?有没有收到数据呢?
[解决办法]
端口设置对了?