2、qt Creator只是一个集成开发工具,这个版本随意,网上下就可以,qte不是用最新,而是最好用跟你在Linux开台开发一样的。首先要在Linux下交叉编译qte的库,然后再将Lib这些文件移植在板子上,最后通过交叉编译好的库去编译你在pc上编写的程序,放到板子上运行!关于交叉编译qt的文章,网上可以搜到很多。
3、WIN7平台的交叉编译工具安装比较麻烦,不推荐使用,直接在Linux去下一个别人交叉工具包,直接解压就好。。去友善的官网,或其他网站下这类的工具
串口通信一般为三步:打开串口,串口设置,向串口发送数据或者向串口接受数据:void OpenComm()
{
hCom=CreateFile("COM3",GENERIC_READ|GENERIC_WRITE,0,
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL|FILE_FLAG_OVERLAPPED,
NULL)
}
void SetComm()
{
SetupComm(hCom,1024,1024)
DCB dcb
dcb.BaudRate=115200
dcb.fParity=NOPARITY
dcb.ByteSize=8
dcb.StopBits=ONESTOPBIT
GetCommState(hCom,&dcb)
if(!GetCommState(hCom,&dcb)){
std::cerr<<"串口被占用"<<std::endl
return
}
if(!SetCommMask(hCom,EV_RXCHAR|EV_TXEMPTY)){
std::cerr<<"掩码设置失败"<<std::endl
}
}
void SendMessageOut(const BYTE snd[],int len)
{
DWORD factdata=100
DWORD res=0
wOverLapped.hEvent=CreateEvent(NULL,TRUE,FALSE,NULL) //创建事件
BOOL tempflag = WriteFile(hCom,snd,len,&factdata,&wOverLapped)//在数据缓冲Ipbuffer不知道是否有问题
if(tempflag!=0)
{
std::cerr<<"等待信号"<<std::endl
res=WaitForSingleObject(wOverLapped.hEvent,5000)
WriteFile(hCom,snd,len,&factdata,&wOverLapped)
}
if(res!=WAIT_OBJECT_0)
std::cout<<"数据发送失败"<<std::endl
}
这是向串口发送数据的,主要函数为WriteFile()读取ReadFile(),具体用法 百度一下
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)