完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本人新手一只,刚接触单片机一个多月,接到一个大创项目是做便携式激光测距仪,于是我们在大淘宝上淘到一激光测距模块。
模块的波特率9600bps, 8位数据位,1位起始位,一位停止位,无奇偶校验,买时自带ttl转USB串口 我们拿到模块开始用电脑测试,用串口调试助手直接发送上电代码,在发送单次测量即可返回测距距离的代码(以后只发送单次测量代码即可开始测量无需发送上电),随后我们将供电线,地线,rxd和txd分别接入单片机开发板上,确定供电无问题,将读写线直接接到单片机的数据读写串口,并烧入以下程序(第一部只是为了测试模块在单片机控制下正常工作,所以没有编写写入程序),但无法使模块工作。 程序如下: (已知程序中所编写字符串能正常发送给电脑) #include unsigned char PuZh[16] = "80 06 02 78";//单次测量代码,用电脑操控便是以hex格式发送它 //--声明全局函数--// void UsartConfiguration(); void Delay10ms(unsigned int c); //误差 0us /******************************************************************************* * 函 数 名 : main * 函数功能 : 主函数 * 输 入 : 无 * 输 出 : 无 *******************************************************************************/ void main() { unsigned char i; UsartConfiguration(); while(1) { for(i=0; i<11; i++) { SBUF = PuZh; //将要发送的数据放入到发送寄存器 while(!TI); //等待发送数据完成 TI=0; //清除发送完成标志位 } Delay10ms(500); //延时一下再发 } } /******************************************************************************* * 函 数 名 :UsartConfiguration() * 函数功能 :设置串口 * 输 入 : 无 * 输 出 : 无 *******************************************************************************/ void UsartConfiguration() { SCON=0X50; //设置为工作方式1 TMOD=0X20; //设置计数器工作方式2 PCON=0X80; //波特率加倍 TH1=0XF9; TL1=0XF9; // ES=1; //打开接收中断 // EA=1; //打开总中断 TR1=1; //打开计数器 } /******************************************************************************* * 函 数 名 : Delay10ms * 函数功能 : 延时函数,延时10ms * 输 入 : 无 * 输 出 : 无 *******************************************************************************/ void Delay10ms(unsigned int c) //误差 0us { unsigned char a, b; //--c已经在传递过来的时候已经赋值了,所以在for语句第一句就不用赋值了--// for (;c>0;c--) { for (b=38;b>0;b--) { for (a=130;a>0;a--); } } } 这是该模块给的通信协议: 激光测距模块通讯协议 波特率9600bps, 8位数据位,1位起始位,一位停止位,无奇偶校验.(波特率最好可以通过软件设置,用户可以自己设定,请提供设置命令)
注:以上命令及返回数据均为16进制格式 · ADDR 为机器地址 ·Postion为1时由顶端算起,为0时由尾端算起,默认设置为尾端(程序中有测距仪长度,由距离修正到顶端后,再加此长度即可设置到尾端) ·CS 为校验字节,其为前面所有字节求和,返回取反加1 在单次测量和连续测量返回数据中,引号中为数据部分,其格式为ASCII格式 如:123.456米 显示为31 32 33 2E 34 35 36 ADDR 默认值为80(128) 参数为出厂设置时,读取数据的命令: 单次测量:80 06 02 78 连续测量:80 06 03 77 关机:80 04 02 7A
|
|||
相关推荐
12个回答
|
|||
这个有点复杂,
|
|
|
|
略显复杂,有时间看一下
|
|
|
|
|
|
|
|
收藏一下,下班回家看看
|
|
|
|
拜托啊,大手们多来看看啊
|
|
|
|
救命了啊 。。。。帮帮我吧
|
|
|
|
没人回答吗,拜托啊
|
|
|
|
谢谢,期待啊。。。。项目还有一段时间,望大神帮帮吗
|
|
|
|
我想问下 最后做出来了吗?我也是在淘宝上买了这样一个东西 ,在串口接收上有问题 ,,不知道楼主解决了没?求分享....
|
|
|
|
|
|
|
|
你在电脑串口接收正常不正常
|
|
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
如何用OpenCV的相机捕捉视频进行人脸检测--基于米尔NXP i.MX93开发板
506 浏览 0 评论
《DNK210使用指南 -CanMV版 V1.0》第四十章 YOLO2人手检测实验
445 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-网络编程示例之开发板测试
394 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-网络编程示例之网络socket程序编程
883 浏览 0 评论
飞凌嵌入式-ELFBOARD-RGB LCD屏接口的PCB设计要点
889 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11728 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-16 21:01 , Processed in 0.799966 second(s), Total 97, Slave 77 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号