資源簡介
基于mini2440的自動導引小車的QT客戶端,通過socket實現與2440的通信,QT顯示攝像頭采集的視頻。并且可以通過客戶端的按鍵控制自動導引小車的行駛方向。
代碼片段和文件信息
#include?“controlthread.h“
#include?“command.h“
#define?SERVER_IP???????????“192.168.1.105“
#define?SERVER_PORT?????????8080
ControlThread::ControlThread(Qobject?*parent)//?:?Qobject(parent)
{
????isConnected?????????=?false;
}
ControlThread::~ControlThread()
{
????delete?controlClient;
}
void?ControlThread::connect_on()
{
????char?command[5]?=?{START_BYTE_0?START_BYTE_1?MOTO_STOP?0x0?0x0};
????isConnected?=?true;
????sendMassage(command?5);
}
void?ControlThread::connect_off()
{
????isConnected?=?false;
}
void?ControlThread::run()
{
????int?????ret?=?0;
????controlClient?=?new?QTcpSocket();
????connect(controlClient?SIGNAL(connected())?this?SLOT(connect_on()));
????connect(controlClient?SIGNAL(disconnected())?this?SLOT(connect_off()));
????controlClient->connectToHost(SERVER_IP?SERVER_PORT);
????ret?=?controlClient->waitForConnected(5000);????????????//?block?5?seconds?waiting?for?connected
?//???qDebug(“controlClient?State:?%d\n“?controlClient->state());
????exec();
}
int?ControlThread::sendMassage(char?*data?int?length)
{
????int?ret;
????if?(!isConnected)?{
????????return?-1;
????}
????ret?=?controlClient->write(data?length);
????return?0;
}
評論
共有 條評論