ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:518.62KB ,
资源ID:9448539      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-9448539.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(LPC2103系列之无线蓝牙控制小车上位机详细教程.docx)为本站会员(b****0)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

LPC2103系列之无线蓝牙控制小车上位机详细教程.docx

1、LPC2103系列之无线蓝牙控制小车上位机详细教程LPC2103系列之无线蓝牙串口模块驱动小车第一步:当然是编写上位机程序。下面将详细讲解,至于2103的编写,将在另一篇文档里面,LPC2103系列之无线蓝牙驱动小车程序。 我是个初学者,可能没做好,你可以加我QQ:,我把整个工程发给你。不过要说明哦,不然可能不加。1,首先,你要有一个蓝牙串口模块,如图。它是成对出现的, 一个主机,一个从机,他们是全双工的。如上图,1是从机,2是主机。如果你要用电脑蓝牙配对的话,只能和从机配对。在本实验中,主从机可以调换,不影响。2,。用VC+6.0编写上位机,教程入下。 1。首先打开vc,在文件中选择新建。建

2、立一个工程。Chuankou1。点确定。2,选择基本对话框。点下一步。3.点下一步。4.点下一步。5.点完成。注意,有的选项,不要弄错了哦。6.添加串口控件。点击Insert.然后点确定。确定。在对话框上添加一个组框,在组框中添加5个单选按钮,标题为串口1串口5。(可以根据需要自己增加或删减)。我们给单选串口1添加属性“组”。右键控件,选择属性,修改标题。如下。我们编译一下,看看是否实现了单选的功能。点击Recourse View,展开chuankou1 recourses-Dialog,双击IDD_CHUANKOU1_DIALOG,编辑我们的主界面对话框。双击击“电话”,弹出如下对话框,按确

3、认键:添加按钮控件,编辑框,静态文本。文字说明可以不要。并修改相应的标题。查看-建立类向导MFC ClassWizard-Member Viariable,选择ClassName为CChuankou1Dlg的类,Control ID为MSCOMM1,双击它,为它添加控制变量m_comm1。类似的,选择IDC_BUTTON2添加控制变量m_serial。(注意,BUTTON2对应上图的打开串口,前进对应BUTTON1,后退对应BUTTON4,左转对应BUTTON5,右转对应BUTTON3)。(建立类向导也可以右击然后在弹出的快捷菜单里选择建立类向导)基本框架已经出来了。下面就是程序部分了。回到窗

4、口部分,双击打开串口。添加如下代码;/m_portnum是一个全局变量,用来确定打开哪一个串口。 if(! m_comm1.GetPortOpen()/判断串口是否已经打开 char temp=0; m_comm1.SetCommPort(m_portnum); m_comm1.SetPortOpen(TRUE); /如果串口是关闭的,则打开串口 MessageBox(串口已打开,提示); sprintf(temp,%d,m_portnum); SetDlgItemText(IDC_EDIT1,temp); /更新静态文本控件 m_serial.SetWindowText(关闭串口); /按钮

5、显示状态改变 else m_comm1.SetPortOpen(FALSE); /如果已经打开串口,则关闭串口 MessageBox(串口已关闭,提示); SetDlgItemText(IDC_EDIT1,0); /更新静态文本控件 m_serial.SetWindowText(打开串口);/按钮显示状态改变 在源码编辑里,打开chuankou1Dlg.cpp文件,进行窗口初始化函数的编写。找到BOOL CChuankouDlg:OnInitDialog()函数,在SetIcon(m_hIcon, FALSE); / Set small icon/ TODO: Add extra initia

6、lization here后面添加如下初始化代码:if(! m_comm1.GetPortOpen()/判断串口是否已经打开 m_comm1.SetCommPort(m_portnum); /选择串口号 m_comm1.SetPortOpen(TRUE); /打开串口 m_comm1.SetInputMode(1); /输入模式选为二进制 m_comm1.SetSettings(9600,n,8,1); /设置串口参数,波特率57600, 无奇偶校验,1位停止位,8位数据位 MessageBox(串口初始化完毕,提示); /提示串口成功初始化else MessageBox(串口被占用,提示);

7、 /如果已经打开串口,消息框提醒在BOOL CChuankouDlg:OnInitDialog()里面,加上全局变量 m_portnum,代码如下。 m_portnum=1;回到,chuankou1 resources -IDD_CHUANKOU_DIALOG双击 “前进”按钮,点确定。然后添加如下代码:CByteArray m_Array; /定义字节数组m_Array.RemoveAll(); /字节数组清空m_Array.SetSize(1); /设定维数为1m_Array.SetAt(0,0x01); /./ 0x01就是在你点前进按钮的时候,向串口发送的数据。m_comm1.SetO

8、utput(COleVariant(m_Array);/由于SetOutput函数的参数为VARIANT型同理,后退,左转,右转。但是发送的数据不能一样。因为涉及到后面的判断。我设置的是:后退m_Array.SetAt(0,0x02);左转m_Array.SetAt(0,0x03); 右转m_Array.SetAt(0,0x04);再次回到 chuankou1 resources -IDD_CHUANKOU_DIALOG双击 “串口1”单选。点确定。然后添加如下代码:m_portnum=1;其他的同理。如上图;双击 编辑框 点确定。里面不用写代码;当然,到这儿就可以了,但是有的同学想用键盘控制

9、,怎么办。首先到Class View 右键 CChuankou1Dlg 选择添加虚函数 注意:上图的PreTranslateMessge要双击,然后被添加到右边的Existing virrual function everrides 中。展开 CChuankou1Dlg 找到 PreTranslateMessage(MSG*pMsg) 并双击。然后添加如下代码: if (pMsg-message=WM_KEYDOWN) switch (pMsg-wParam) case VK_UP: CByteArray m_Array; /定义字节数组 m_Array.RemoveAll(); /字节数组清

10、空 m_Array.SetSize(1); /设定维数为1 m_Array.SetAt(0,0x01); /给m_array0赋值0 m_comm1.SetOutput(COleVariant(m_Array);/由于SetOutput函数的参数为VARIANT型,必 break; case VK_DOWN: CByteArray m_Array; /定义字节数组 m_Array.RemoveAll(); /字节数组清空 m_Array.SetSize(1); /设定维数为1 m_Array.SetAt(0,0x02); /给m_array0赋值0 m_comm1.SetOutput(COle

11、Variant(m_Array);/由于SetOutput函数的参数为VARIANT型,必 break; case VK_LEFT: CByteArray m_Array; /定义字节数组 m_Array.RemoveAll(); /字节数组清空 m_Array.SetSize(1); /设定维数为1 m_Array.SetAt(0,0x03); /给m_array0赋值0 m_comm1.SetOutput(COleVariant(m_Array);/由于SetOutput函数的参数为VARIANT型,必 break; case VK_RIGHT: CByteArray m_Array; /定义字节数组 m_Array.RemoveAll(); /字节数组清空 m_Array.SetSize(1); /设定维数为1 m_Array.SetAt(0,0x04); /给m_array0赋值0 m_comm1.SetOutput(COleVariant(m_Array);/由于SetOutput函数的参数为VARIANT型,必 break; default : break; 最后,说下功能,也许大家还不是很了解,就是当你按下左键的时候,会向串口发送一个数据,上面有提到。然后,2103接受到这个数据后进行判断。确定应该往那一边转。

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2