标题: STM32鸳鸯超声波使用说明与源码 [打印本页]

作者: xingyaohuan    时间: 2018-8-16 22:50
标题: STM32鸳鸯超声波使用说明与源码
鸳鸯超声波使用说明

stm32源程序:
  1. /*!
  2.   *     COPYRIGHT NOTICE
  3.   *     Copyright (c) 2013,野火科技
  4.   *     All rights reserved.
  5.   *
  6.   *     除注明出处外,以下所有内容版权均属野火科技所有,未经允许,不得用于商业用途,
  7.   *     修改内容时必须保留野火科技的版权声明。
  8.   *
  9.   * @file       main.c
  10.   * @brief      野火K60 平台主程序
  11.   * @author     野火科技
  12.   * @version    v5.0
  13.   * @date       2013-07-18
  14.   */

  15. #include "common.h"
  16. #include "include.h"

  17. #define TRIG    PTD2
  18. #define ECHG    PTD1

  19. #define FLAGWAIT    0xFFFFF
  20. /*!
  21. *  @brief      main函数
  22. *  @since      v5.0
  23. *  @note       野火 PIT 计时实验
  24. */
  25. void main()
  26. {
  27.     uint32 timevar;
  28.     uint32 flag;
  29.     gpio_init(TRIG,GPO,0);
  30.     gpio_init(ECHG,GPI,0);
  31.    
  32.     while(1)
  33.     {
  34.         flag = 0;
  35.         gpio_set(TRIG,1);               //产生触发脉冲
  36.         pit_delay_us(PIT1,15);
  37.         gpio_set(TRIG,0);
  38.         
  39.         while(gpio_get(ECHG) == 0);             //等待电平变高,低电平一直等待
  40.         pit_time_start  (PIT0);                 //开始计时
  41.         while(gpio_get(ECHG) == 1)              //等待电平变低,高电平一直等待
  42.         {
  43.             flag++;
  44.             if(flag >FLAGWAIT)
  45.             {
  46.                 break;
  47.             }
  48.         };            
  49.         
  50.         timevar = pit_time_get_us    (PIT0);    //停止计时,获取计时时间
  51.         if(flag <FLAGWAIT )
  52.         {
  53.             timevar = timevar * 340 /2/1000;
  54.                
  55.             if(timevar > 5)
  56.             {
  57.                 printf("\n\n距离为:%dmm",timevar); //打印延时时间
  58.             }
  59.         }
  60.         
  61.         DELAY_MS(1000);
  62.     }
  63. }

复制代码

所有资料51hei提供下载:
PIT_计时_超声波.rar (920.49 KB, 下载次数: 14)







欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1