找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 6563|回复: 2
收起左侧

TOF10120激光测距STM32串口驱动源程序与pdf资料下载

[复制链接]
ID:341683 发表于 2019-3-22 15:46 | 显示全部楼层 |阅读模式
1020.PNG

部分程序源码
i
  1. #include "led.h"
  2. #include "delay.h"
  3. #include "sys.h"
  4. #include "usart.h"
  5. #include "usart2.h"                                  
  6. #include "string.h"         
  7. #include "lcd.h"
  8. #include "math.h"

  9. u16 distance=0;

  10. u8        calculate_distance(void)
  11. {
  12.         int i=1000;
  13.         u8 len;       
  14.         u8 t;
  15.         printf("r6#");
  16.         while(((USART_RX_STA&0x8000)==0)&& i>0)
  17.         {
  18.                 i--;
  19.         }
  20.         if(USART_RX_STA&0x8000)
  21.         {                               
  22.                         len=USART_RX_STA&0x3fff;//得到此次接收到的数据长度
  23.                         for(t=2;t<len-2;t++)
  24.                         {
  25.                                 distance+=(USART_RX_BUF[t]-'0')*((u16)pow(10,len-3-t));
  26.                         }
  27.                         USART_RX_STA=0;
  28.                         u2_printf("%d\r\n",distance);
  29.                         return 1;
  30.         }
  31.         else return 0;
  32. }

  33. int main(void)
  34. {         
  35.         u8 time=1;
  36.         delay_init();                     //延时函数初始化          
  37.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
  38.         uart_init(9600);                 //串口初始化为9600
  39.         USART2_Init(9600);
  40.         LED_Init();                                //初始化与LED连接的硬件接口
  41.         LCD_Init();
  42.         POINT_COLOR=RED;         
  43.         while(1)
  44.         {               
  45.                 if(calculate_distance()==1)
  46.                 {
  47.                         time++;
  48.                         delay_ms(100);
  49.                 }
  50.                 distance=0;  
  51.                 if(time%10==0)
  52.                 {
  53.                         LED1=!LED1;
  54.                 }
  55.         }                                                                                            
  56. }
复制代码

代码与pdf 51hei附件下载:
单路激光加上位机读取代码.7z (241.93 KB, 下载次数: 155)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:538333 发表于 2019-7-22 23:23 | 显示全部楼层
输出r6#是怎么回事
如何让它输出距离
回复

使用道具 举报

ID:538333 发表于 2019-7-23 22:31 | 显示全部楼层
串口如何显示距离
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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