微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > 射频无线通信设计 > 拼凑上位机,send函数疑问

拼凑上位机,send函数疑问

时间:10-02 整理:3721RD 点击:


前段时间的折腾,基本上可以进行简单的wifi通信
周末有点时间,用labview做个简单的上位机
完成一个简单的采集任务,麻雀小五脏全
没有什么美化的插件,做得很粗糙



从OPEN1081采集温度数据
在上位机设置最高、最低的报警阈值
ALARM灯根据阈值来进行点亮或者熄灭,达到报警功能
上框图,大神轻拍



每50ms,上位机向OPEN1081发送一次数据
OPEN1081收到数据后,回复固定长度的数据
以Temp开头,紧跟温度数据
温度数据转换成浮点数后,送插件输出
同时与温度阈值比较,点亮或者熄灭ALARM灯
上视频简单演示一下:

上点代码,很随意,以后再用systick去采集数据吧
if (clientfd【i】 != -1) {
if (!FD_ISSET(clientfd【i】, &readfds)) {
con = recv(clientfd【i】, buf, 3*1024, 0);
if (con > 0) {

tmp = get_tem();
itostr(SEND_buff,tmp/100);
strcat(SEND_buff,".");
itostr(TMP_buff,tmp%100/10);
strcat(SEND_buff,TMP_buff);
SEND_str_len = strlen(SEND_buff);
send(clientfd【i】, "Temp", sizeof("Temp")-1, 0);
send(clientfd【i】, SEND_buff, SEND_str_len, 0);
}
else {
close(clientfd【i】);
clientfd【i】 = -1;
}
}

注意到红色字体么?
很奇怪的一个问题,
如果使用send(clientfd【i】, "Temp", sizeof("Temp"), 0);的话,上位机无法获取温度数据了
在labview中debug发现,用send函数发送Temp字符,上位机居然收到Temp外加一个空格



所以无法正常接收温度数据
把sizeof("Temp")减掉1后,一切正常,百思不得其解啊




昨天庆科的工程师回复函数库可参考参考POSIX标准
下去再好好研究一下吧

楼主干得不错!

我刚开始关心recv,read, recvfrom及send,write, sendto这几个库函数。

这用身体温度怪吓人的,才10度

不错。顶一个。

上一篇:Open1081使用心得_2
下一篇:MXCHIP open1081

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top