找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3593|回复: 1
收起左侧

STM32四通道四路超声波模块采集源码(串口中断实现)

[复制链接]
ID:302731 发表于 2018-4-8 19:53 | 显示全部楼层 |阅读模式
话不多说,自己下载研究。用的STM32F103C8T6,引脚自己打开程序里面看。串口输出四路超声波检测结果,单位cm。

单片机源程序如下:
  1. /**
  2.   ******************************************************************************
  3.   * @file    main.c
  4.   * @author  fire
  5.   * @version V1.0
  6.   * @brief   串口中断接收测试
  7.   */

  8. #include "stm32f10x.h"
  9. #include "bsp_usart1.h"
  10. #include "stdio.h"
  11. #include "timer2_cap.h"
  12. #include "UltrasonicWave.h"
  13. #include "delay.h"

  14. /**
  15.   * @brief  主函数
  16.   * @param  无
  17.   * @retval 无
  18.   */
  19. int main(void)
  20. {  
  21.         unsigned char count=0;
  22.         delay_init();
  23.                 /* USART1 配置模式为 115200 8-N-1,中断接收 */
  24.         USART1_Config();
  25.         
  26.         NVIC_Configuration();
  27.   
  28.         TIM2_Cap_Init(0xffff,72-1); //以1Mhz的频率计数

  29.   UltrasonicWave_Configuration();
  30.         
  31.         while(1)
  32.          {
  33.                 switch(count)
  34.                   {case 0:UltrasonicWave_StartMeasure();
  35.               count=1;
  36.                                       break;
  37.                          case 1:UltrasonicWave_StartMeasure2();
  38.              count=2;
  39.                                      break;        
  40.                         case 2:UltrasonicWave_StartMeasure3();
  41.              count=3;
  42.                                      break;               
  43.                         case 3:UltrasonicWave_StartMeasure4();
  44.              count=0;
  45.                                      break;
  46.       }
  47.    
  48.                 printf("1:%d|2:%d|3:%d|4:%d\n",tempup1,tempup2,tempup3,tempup4);
  49.     delay_ms(500);
  50.                                   if(tempup1<=300)
  51.                  {
  52.                         delay_ms(1000);
  53.                          delay_ms(1000);
  54.                          delay_ms(1000);
  55.                          delay_ms(1000);
  56.                          delay_ms(1000);
  57.                          delay_ms(1000);
  58.                          delay_ms(1000);
  59.                          delay_ms(1000);
  60.                         
  61.                  }
  62.                         else
  63.                         {
  64.                         delay_ms(1000);
  65.                         }
  66.    }        
  67. }
  68. /*********************************************END OF FILE**********************/
复制代码

所有资料51hei提供下载:
STM32F103C8T6四通道超声波检测(串口).rar (339.43 KB, 下载次数: 73)

评分

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

查看全部评分

回复

使用道具 举报

ID:163002 发表于 2020-5-16 15:11 | 显示全部楼层
楼主,这个代码是不是有错啊,在超声波定义那里
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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