资源简介
使用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打地鼠小程序
相关资源
- I2C读写AT24C02 基于STM32F103 cube116540
- 基于stm32f103ve的程序——跑马灯实验
- 基于STM32RCT6的步进电机驱动程序
- stm32f407上的两个can发送和接收例程
- STM32 led 时钟
- STM32 2.4G通信例程
- 直流无刷电机方波驱动 stm32 例程代码
- STM32中文资料
- STM32蓝牙和串口程序
- STM32f103超声波模块例程
- stm32f103c8t6 4 oled.rar
- stm32f030 IAP Demo(原创)
- STM32基于rt_thread操作系统的SDHC卡文件
- NRF24L01实现51与STM32双向通讯
- STM32F103 串口程序(完整版)
- stm32 ds18b20 温度传感器 测试通过
- stm32官方例程
- STM32F103定时器中断程序
- [免费]基于stm32f103ze 的OLED驱动代码
- STM32F103RBT6驱动UC1698控制芯片的160160黑
- STM32F103 DS18B20 V3.5.0固件库驱动程序工
- STM32定时器使用入门。看了这个程序会
- SIM908 SDIO FSMC STM32 FIFO
- STM32F103 CC2500完整驱动(模拟SPI)
- AD7606采集程序
- stm32 用SPI 方式读写 SDHC
- stm32通过DMA方式采集ADC数据
- 意法半导体STM全系列微控制器STM32ST
- 基于STM32芯片的SX1278 驱动 LORA.rar
- STM32的PCB封装库,以及原理图库,48
评论
共有 条评论