社区
C++ Builder
帖子详情
谁有通过手机红外口通讯的例子?
myfault
2003-08-23 10:48:29
通过手机红外口发短信息,不虚拟串口,我已完成虚拟串口的。
...全文
107
2
打赏
收藏
谁有通过手机红外口通讯的例子?
通过手机红外口发短信息,不虚拟串口,我已完成虚拟串口的。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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);
}
树莓派下Java实现
红外
接收
树莓派下Java实现
红外
接收
单片机
红外
发射接收电路设计与应用
单片机(Microcontroller Unit,MCU)是一种集成在单一芯片上的完整计算机系统,专为解决控制领域中的特殊问题而设计。它通常包括处理器核心、存储器(RAM和ROM)、输入输出接
口
以及定时器和计数器等其他功能部件。与传统的通用计算机相比,单片机通常在成本、体积和功耗上具有显著的优势,是嵌入式系统设计中不可或缺的部分。除了NEC协议外,还有多种
红外
通信协议,例如:- RC5协议:由飞利浦公司开发,主要应用于家庭电器领域,它使用较短的引导码,并支持双向控制。
STM32入门开发: NEC
红外
线协议解码(超低成本无线传输方案)
一、环境介绍 MCU: STM32F103ZET6 编程软件环境: keil5
红外
线传输协议: NEC协议---38KHZ载波:。NEC协议是
红外
遥控协议中常见的一种。 代码风格: 模块化编程,寄存器直接操作方式 完整keil工程源码下载(解压即可编译运行测试): 二、NEC协议与解码思路介绍 2.1 采用的相关硬件 图1: 这是NEC协议的
红外
线遥控器: 如果自己
手机
没有
红外
线遥控器的功能,可以淘宝上买一个小遥控器来学习测试,成本不高,这个遥控器也可以自己做,能...
STM32
红外
接收与发送实战一(接收):基于中断与定时器的精确数据解析
并且在发送数据之前还要发送引导码(高电平9ms,低电平4.5ms)所以发送内容如下所示:高电平发送的是38KHZ(占空比为1:3)的载波信号,低电平不发送。
红外
发射是通过搭载在38KHZ载波(占空比为3:1)发射出去的,也就是说当发送数据为高电平时,
红外
发射管发送的是38KHZ的载波信号,当发送的数据为低电平时,
红外
发射管什么都不发射。解析思路:不管是数据1还是数据0,低电平的时间都是0.56ms,不同的是高电平的时间,所以我们只要测量出高电平的时间,就可以判断出数据是0还是1。
Palm 串行
通讯
GPS数据读取的实现
Palm 串行
通讯
GPS数据读取的实现 作者: 李鲁群 关于J2ME程序编写的教程,各大网站均有介绍。但是J2ME教程的学习与实际应用毕竟还有一段距离。笔者从事J2ME一年多,已经成功地开发出基于无线互联网palm与GPS、电子地图结合个人导航系统。该系统利用Palm通过串
口
采集GPS数据,将GPS数据在电子地图上定位,地图数据的更新或空间属性分析通过掌上电脑Palm的
红外
口
与
手机
相连,将数据
C++ Builder
13,871
社区成员
102,693
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章