谁有通过手机红外口通讯的例子?

myfault 2003-08-23 10:48:29
通过手机红外口发短信息,不虚拟串口,我已完成虚拟串口的。
...全文
129 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
chameleon 2003-08-25
  • 打赏
  • 举报
回复
发了几个网址给你,希望有帮助
柯本 2003-08-23
  • 打赏
  • 举报
回复
这是我去年编在PDA上的段红外线联的机的测试程序,后移到PC上,试过可用
不过程序找到到了,我记得有一个构件,继承TWSocket的,也我不到了(到网上搜一下)
你参考一下吧!
{
SOCKET sock;
WORD wVersionRequested;
WSADATA wsaData;
int err;
DEVICELIST dev; // Device list
int wd;
int count;
int index;
char buff[100];
CString x,t;



wVersionRequested = MAKEWORD( 1, 1 );

err = WSAStartup( wVersionRequested, &wsaData );
if ( err != 0 )
{
MessageBox(L"WSAStartup error");
return;
}

if((sock=socket (AF_IRDA, SOCK_STREAM, 0)) == INVALID_SOCKET)
{
MessageBox(L"socket error");
return;
}

SOCKADDR_IRDA ad = {AF_IRDA, 0, 0, 0, 0, "IrDA:IrCOMM"};

dev.numDevice = 0;
count=0;
wd=sizeof(dev);

while ( (dev.numDevice == 0) && (count <= 5))
{
// Retrieve the socket option.
if (getsockopt (sock, SOL_IRLMP, IRLMP_ENUMDEVICES,
(char *)&dev, &wd) == SOCKET_ERROR)
{
MessageBox(L"getsockopt error");
closesocket (sock);
return ;
}

count++;

// Wait one second before retrying.
Sleep (1000);
}

if (count > 5)
{
MessageBox (L"Server could not be located!") ;
closesocket (sock);
return ;
}

// Get the server socket address.
for (index = 0; index <= 3; index++)
{
ad.irdaDeviceID[index] = dev.Device[0].irdaDeviceID[index];
}


if (connect (sock, (struct sockaddr *)&ad,
sizeof (SOCKADDR_IRDA)) == SOCKET_ERROR)
{
MessageBox(L"connect error");
closesocket (sock);
return;
}
int Enable9WireMode=0;

if (setsockopt(sock, SOL_IRLMP, IRLMP_TINYTP_MODE ,
(char *) &Enable9WireMode, sizeof(int)) == SOCKET_ERROR )
{
MessageBox (L"setsockopt error!");
// closesocket (sock);
// return;

}

if (send (sock, "AT+CPBS=?\r", strlen ("AT+CPBS=?\r") , 0)
== SOCKET_ERROR)
{
MessageBox(L"send error");
closesocket (sock);
return;
}
if (recv (sock, buff, sizeof (buff), 0)== SOCKET_ERROR)
{
MessageBox(L"recv error");
closesocket (sock);
return;
}
x="";
for(index=0;index<=(int)strlen(buff);index++)
{
t.Format(L"%02x ", (unsigned char)buff[index]);
x+=t;
}
MessageBox(x);
/*///////////////////////again/
if (recv (sock, buff, sizeof (buff), 0)== SOCKET_ERROR)
{
MessageBox(L"recv error");
closesocket (sock);
return;
}
x="";
for(index=0;index<strlen(buff);index++)
{
t.Format(L"%02x ", (unsigned char)buff[index]);
x+=t;
}
MessageBox(x);
////////////////////////////////*/


closesocket (sock);
}
内容概要:本文详细介绍了利用Simulink进行变压器开路试验的电路连接配置与仿真实现方法,重点在于通过仿真手段还原实际电力系统中变压器在空载条件下的电气特性,从而深入理解其工作原理与性能表现。文章作为电力系统仿真系列研究的一部分,系统阐述了从电路模型搭建、参数设定、仿真运行到结果分析的完整流程,突出展示了MATLAB/Simulink在电力设备建模与教学科研中的强大功能与应用价值。; 适合人群:具备电力系统基础知识,熟悉MATLAB/Simulink仿真环境,从事电气工程、自动化及相关领域的研发人员,以及高年级本科生和研究生。; 使用场景及目标:①掌握变压器开路试验的基本原理与Simulink仿真建模的具体步骤;②通过仿真实验深入理解空载电流、铁芯损耗及励磁特性等关键参数的物理意义;③为后续开展变压器短路试验、暂态过程分析以及其他电力设备的仿真研究奠定理论与实践基础。; 阅读建议:建议结合Simulink软件动手实践,逐步构建并调试电路模型,重点关注各元件参数的设置方法与测量模块的应用技巧,同时推荐参考文中提及的其他相关仿真案例进行拓展学习,以全面提升对电力系统仿真实践的整体认知与操作能力。

13,874

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧