找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 6763|回复: 7
打印 上一主题 下一主题
收起左侧

请教 stm32控制激光测距仪模块 串口通讯部分相关问题

[复制链接]
跳转到指定楼层
楼主
ID:164654 发表于 2017-2-14 20:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
5黑币
本人新手一只,刚接触单片机一个多月,目前在做一个项目是做激光测距仪,于是在淘宝上淘到一激光测距模块。
模块的波特率9600bps, 8位数据位,1位起始位,一位停止位,无奇偶校验,买时自带ttl转USB串口
1.我拿到模块开始用电脑测试,用串口调试助手直接发送上电代码,在发送单次测量即可返回测距距离的代码(以后只发送单次测量代码即可开始测量无需发送上电)
2.随后我将供电线,地线,rxd和txd分别接入单片机开发板上,确定供电无问题,将读写线直接接到单片机的数据读写串口,并烧入以下程序(第一部只是为了测试模块在单片机控制下正常工作,所以没有编写写入程序),但无法使模块工作。
3.已知程序中所编写十六进制的数据能正常发送给上位机的串口调试助手。


以下程序为我使用串口发送激光模块单次测距的命令的相关代码:
参数为出厂设置时,读取数据的命令:
单次测量:80 06 02 78



Usart.c中我定义了一个如下的简单的发送数据函数:


void send_data_yhr(void)
{
    USART_ClearFlag(USART2,USART_FLAG_TC);
        
    USART_SendData(USART2, 0x80);        
    while( USART_GetFlagStatus(USART2,USART_FLAG_TC) == RESET);
                        delay_ms(200);
    USART_SendData(USART2, 0x06);        
    while(USART_GetFlagStatus(USART2, USART_FLAG_TC) == RESET);
                        delay_ms(200);
    USART_SendData(USART2, 0x02);        
    while(USART_GetFlagStatus(USART2, USART_FLAG_TC) == RESET);
                        delay_ms(200);
     USART_SendData(USART2, 0x78);        
     while(USART_GetFlagStatus(USART2, USART_FLAG_TC) == RESET);
                         delay_ms(200);
}


在Main.c中我对此函数进行了调用:


#include "main.h"


int main(void)
{
USART2_Configuration();

while(1)
   {
      send_data_yhr();
      delay_ms(200);
    }
}


在Delay.c里:

void delay_ms(unsigned int t)
{
        int i;
        for( i=0;i<t;i++)
        {
                int a=10300;
                 while(a--);
        }
}








最佳答案

查看完整内容

可以, 1, 每个模块必须要有地址, 作为从机即可; 如果无法设置地址,则看下面 2, 自己用CD4052模拟开关, 将单片机的串口,通过该开关,动态切换.
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:332500 发表于 2017-2-14 20:50 | 只看该作者
可以,
1, 每个模块必须要有地址, 作为从机即可; 如果无法设置地址,则看下面
2, 自己用CD4052模拟开关, 将单片机的串口,通过该开关,动态切换.

评分

参与人数 1黑币 +40 收起 理由
admin + 40 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

板凳
ID:171464 发表于 2017-3-29 20:16 | 只看该作者
楼主    弄懂了吗    求指教啊
回复

使用道具 举报

地板
ID:151348 发表于 2017-3-29 21:14 | 只看该作者
能否说一下激光测距仪的型号?
回复

使用道具 举报

5#
ID:184717 发表于 2017-3-30 10:42 | 只看该作者
有可能是激光模块的问题
回复

使用道具 举报

6#
ID:207153 发表于 2017-6-11 17:21 | 只看该作者
请问一个单片机开发板能不能同时读取三到四个激光测距仪的数据
回复

使用道具 举报

7#
ID:300111 发表于 2018-5-17 22:19 | 只看该作者
能否说一下激光测距仪的型号?
回复

使用道具 举报

8#
ID:332636 发表于 2018-5-17 23:37 | 只看该作者
同样求指教
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表