资源简介
使用STM32F103同时驱动三个超声波模块,并用串口屏显示每个超声波模块探测的距离
代码片段和文件信息
#include “input.h“
u8 TIM4CH1_CAPTURE_STA; //输入捕获状态
u16 TIM4CH1_CAPTURE_LAST_VAL;//上一次输入捕获值
u16 TIM4CH1_CAPTURE_VAL;//输入捕获值
u8 TIM4CH2_CAPTURE_STA; //输入捕获状态
u16 TIM4CH2_CAPTURE_LAST_VAL;//上一次输入捕获值
u16 TIM4CH2_CAPTURE_VAL;//输入捕获值
u8 TIM4CH3_CAPTURE_STA; //输入捕获状态
u16 TIM4CH3_CAPTURE_LAST_VAL;//上一次输入捕获值
u16 TIM4CH3_CAPTURE_VAL;//输入捕获值
/*******************************************************************************
* 函 数 名 : input_init
* 函数功能 : 输入捕获配置初始化 定时器4通道123输入捕获配置
* 输 入 : 无
* 输 出 : 无
*******************************************************************************/
void input_init()
{
TIM_TimebaseInitTypeDef TIM_TimebaseInitStructure;//声明一个结构体变量,用来初始化定时器
TIM_ICInitTypeDef TIM4_ICInitStructure;
NVIC_InitTypeDef NVIC_InitStructure;
/* 开启定时器5时钟 */
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4ENABLE); //使能TIM4时钟
TIM_ClearITPendingBit(TIM4TIM_IT_Update|TIM_IT_CC1|TIM_IT_CC2|TIM_IT_CC3); //清除中断和捕获标志位
TIM_TimebaseInitStructure.TIM_Period = 0xffff; //设定计数器自动重装值
TIM_TimebaseInitStructure.TIM_Prescaler = 0; //以1Mhz的频率计数 一次即是1us
TIM_TimebaseInitStructure.TIM_ClockDivision = TIM_CKD_DIV1; //设置时钟分割:TDTS = Tck_tim
TIM_TimebaseInitStructure.TIM_CounterMode = TIM_CounterMode_Up; //TIM向上计数模式
TIM_TimebaseInit(TIM4&TIM_TimebaseInitStructure);//根据TIM_TimebaseInitStruct中指定的参数初始化TIMx的时间基数单位
TIM4_ICInitStructure.TIM_Channel = TIM_Channel_1; //选择输入端 IC1映射到TI1上
TIM4_ICInitStructure.TIM_ICPolarity = TIM_ICPolarity_Rising; //上升沿捕获
TIM4_ICInitStructure.TIM_ICSelection = TIM_ICSelection_DirectTI; //映射到TI1上
TIM4_ICInitStructure.TIM_ICPrescaler = TIM_ICPSC_DIV1; //配置输入分频不分频
TIM4_ICInitStructure.TIM_ICFilter = 0x00; //IC1F=0000 配置输入滤波器 不滤波
TIM_ICInit(TIM4 &TIM4_ICInitStructure); //初始化TIM4输入捕获通道1
TIM4_ICInitStructure.TIM_Channel = TIM_Channel_2; //选择输入端 IC1映射到TI1上
TIM_ICInit(TIM4 &TIM4_ICInitStructure); //初始化TIM4输入捕获通道1
TIM4_ICInitStructure.TIM_Channel = TIM_Channel_3; //选择输入端 IC1映射到TI1上
TIM_ICInit(TIM4 &TIM4_ICInitStructure); //初始化TIM4输入捕获通道1
//中断分组初始化
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);
NVIC_InitStructure.NVIC_IRQChannel=TIM4_IRQn; //打开TIM4的全局中断
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0; //抢占优先级为0
NVIC_InitStructure.NVIC_IRQChannelSubPriority=1; //响应优先级为1
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //使能
NVIC_Init(&NVIC_InitStructure);
TIM_Cmd(TIM4ENABLE); //使能或者失能TIMx外设
TIM_ITConfig(TIM4 TIM_IT_Update|TIM_IT_CC1|TIM_IT_CC2|TIM_IT_CC3 ENABLE ); //使能或者失能指定的TIM中断
}
void HC_SR04_init() //
{
GPIO_InitTypeDef GPIO_InitStructure; //声明一个结构体变量,用来初始化GPIO
SystemInit();
/* 开启GPIO时钟 */
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOBENABLE);
/* 配置GPIO的模式和IO口 */
GPIO_InitStructure.GPIO_Pin=Echo1|Echo2|Echo3; //选择你要设置的IO口
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IPD;//上拉输入
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz; //设置传输速率
GPIO_Init(GPIOB&GPIO_
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 8494 2018-03-12 15:58 工程模板\APP\input\input.c
文件 797 2017-09-06 09:11 工程模板\APP\input\input.h
文件 3169 2018-03-12 15:59 工程模板\APP\printf\printf.c
文件 246 2017-08-06 19:40 工程模板\APP\printf\printf.h
文件 2025 2015-05-29 17:20 工程模板\APP\PWM\pwm.c
文件 94 2014-12-13 15:09 工程模板\APP\PWM\pwm.h
文件 1314 2015-05-28 11:25 工程模板\APP\SysTick\systick.c
文件 121 2014-12-09 16:09 工程模板\APP\SysTick\systick.h
文件 6956 2015-12-10 17:06 工程模板\DebugConfig\Target_1_STM32F103ZE.dbgconf
文件 497 2015-06-08 10:30 工程模板\Jli
文件 285 2014-12-11 16:01 工程模板\Jli
文件 399 2011-04-23 10:24 工程模板\keilkilll.bat
文件 17273 2010-06-07 10:25 工程模板\Libraries\CMSIS\CM3\CoreSupport\core_cm3.c
文件 85714 2011-02-09 14:59 工程模板\Libraries\CMSIS\CM3\CoreSupport\core_cm3.h
文件 15766 2011-03-10 10:52 工程模板\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm\startup_stm32f10x_cl.s
文件 15503 2011-03-10 10:52 工程模板\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm\startup_stm32f10x_hd.s
文件 15692 2011-03-10 10:52 工程模板\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm\startup_stm32f10x_hd_vl.s
文件 12376 2011-03-10 10:52 工程模板\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm\startup_stm32f10x_ld.s
文件 13656 2011-03-10 10:52 工程模板\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm\startup_stm32f10x_ld_vl.s
文件 12765 2011-03-10 10:52 工程模板\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm\startup_stm32f10x_md.s
文件 14073 2011-03-10 10:51 工程模板\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm\startup_stm32f10x_md_vl.s
文件 15955 2011-03-10 10:51 工程模板\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm\startup_stm32f10x_xl.s
文件 13072 2011-03-10 10:52 工程模板\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\gcc_ride7\startup_stm32f10x_cl.s
文件 13160 2011-03-10 10:52 工程模板\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\gcc_ride7\startup_stm32f10x_hd.s
文件 12482 2011-03-10 10:52 工程模板\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\gcc_ride7\startup_stm32f10x_hd_vl.s
文件 9814 2011-03-10 10:52 工程模板\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\gcc_ride7\startup_stm32f10x_ld.s
文件 10562 2011-03-10 10:52 工程模板\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\gcc_ride7\startup_stm32f10x_ld_vl.s
文件 10269 2011-03-10 10:52 工程模板\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\gcc_ride7\startup_stm32f10x_md.s
文件 11058 2011-03-10 10:52 工程模板\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\gcc_ride7\startup_stm32f10x_md_vl.s
文件 13261 2011-03-10 10:52 工程模板\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\gcc_ride7\startup_stm32f10x_xl.s
............此处省略112个文件信息
- 上一篇:CC2530+HCSR04超声波测距
- 下一篇:LavVIEW打地鼠小程序
相关资源
- 基于STM32F103的24m02芯片驱动代码
- 基于STM32的DAC7562模块驱动代码
- STM32_vl53l0x 激光 测距
- 官方Keil.STM32F4xx_DFP.2.9.0.pack固件库
- 基于STM32的四旋翼程序
- stm32f407使用MQ7检测一氧化碳浓度程序
- stm32f407使用继电器程序
- DAC8552驱动程序
- LQFP48-STM32F103Cx封装
- STM32F1系列读写内部FLASH
- STM32F1系列ADC DMA读取例程
- 串口打印 温湿度 STM32
- fft算法1024
- AD7606驱动代码 stm32
- 基于STM32的倾斜仪程序具体设计在博客
- STM32F103C8T6-ADC例程
- STM32F103驱动DS18B20程序
- ADS1256 基于 RT-Thread 4.0.2 版本驱动程序
- STM32 硬件IIC读取BH1750
- STM32控制LED灯
- STM32CubeF4固件包STM32Cube_FW_F4_V1.22.0
- STM32库函数代码自动生成器V1.2破解版
- Qt与stm32通信绘制波形
- INA226使用教程.docx
- STM32HAL库驱动SPILCD代码
- STM32F103RBT6系统原理图
- 使用STM32控制无源蜂鸣器发声播放音乐
- ST LIS3DH STM32 驱动参考代码
- STM32的AD采集信号,并发送到串口
- STM32串口连续接收一帧数据
评论
共有 条评论