资 源 简 介
可以给做电赛的朋友
#include "includes.h"
/*********************************
使用外部中断和systik定时器来做超声波部分
警告:超声波使用systick时,其他设备不允许使用systick
***********************************/
unsigned char ultrasonic_systick = 0;//等于0时,超声波没有使用SYSTICK
unsigned char ultrasonic_ok = 0;
unsigned int ultrasonic_Data;
float ultrasonic_Hight;
//此部分初始化外部中断以及各部分用到的引脚
void ultrasonic_Init(void)
{
//使用TIM4_CH1,TIM4_CH2用于超声波引脚
//TIM4_CH1(PB6) -> echo
//TIM4_CH2(PB7) -> trig
GPIO_InitTypeDef GPIO_InitStructure;
EXTI_InitTypeDef EXTI_InitStructure;
// NVIC_InitTypeDef NVIC_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB ,ENABLE);
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_7;
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;
GPIO_Init(GPIOB,&GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_6;
GP