利用lego提供的ActiveX控件phantom.ocx,高级语言(如VC,VB,Dephi,C#)等也可以控制RCX.以下通过一个简单的例子,演示了通过MFC控制RCX.
第一步:下载ActiveX控件phantom.ocx。该控件支持USB 红外传输.(还有一个控件叫spirit.ocx,但不支持usb红外传输。)
下载地址:
第二步:注册控件。在“开始”——“运行”里,输入“regsvr32 路径名/phantom.ocx”。如果phantom.ocx保存在C盘,则输入”regsvr32 c:/phantom.ocx”.
第三步:将注册好的控件加入工具箱。打开vs2008,新建一个MFC对话框应用程序。然后在工具箱上点右键,选择“选择项”,然后选择“COM组件”,找到phantomctrlclass。把它加入工具箱。
第四步:把phantom控件从工具箱拖至对话框中,右键点击该控件,选择添加变量。变量名为ctrl1.
第四步:然后删除对话框中的“确定”和“取消”按钮和static控件。往对话框中加入一个button控件。双击button控件,在OnBnClickedButton1()函数中输入代码。
void CphantomDlg::OnBnClickedButton1()
{
ctrl1.InitComm();//初始化串口
ctrl1.put_ComPortNo(0); //选择通信端口,0代表USB。
ctrl1.put_LinkType(0);//选择通信类型
ctrl1.SetFwd(L"0");//设定口马达转动转动方向,0代表A端口。
ctrl1.On(L"0");//A端口输出电源。
sleep(1000);//延时1秒
ctrl1.Off(L"0");关闭输出。
ctrl1.CloseComm();
// TODO: 在此添加控件通知处理程序代码
}
至此,简单的控制RCX已初告成功。