久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
STM32F103捕獲功能實現(xiàn)超聲波測距程序
[打印本頁]
作者:
wqq_eeb
時間:
2020-11-7 20:13
標題:
STM32F103捕獲功能實現(xiàn)超聲波測距程序
學(xué)習(xí)stm32的捕獲功能,能夠?qū)崿F(xiàn)2米內(nèi)精確測距。
#include "stm32f10x.h"
#include "input_capture.h"
#include <stdio.h>
/* Private macro -------------------------------------------------------------*/
/* Private variables ---------------------------------------------------------*/
void delay_us(u16 time)
{
u16 i;
for(i=0;i<time*8;i++);
}
/* Private functions ---------------------------------------------------------*/
void start_measor_init(void)
{
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
GPIO_InitTypeDef GPIO_InitStruct;
GPIO_InitStruct.GPIO_Mode=GPIO_Mode_Out_PP;
GPIO_InitStruct.GPIO_Pin=GPIO_Pin_1;
GPIO_InitStruct.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_Init(GPIOA, &GPIO_InitStruct);
GPIO_ResetBits(GPIOA, GPIO_Pin_1);
}
void start_measor_start(void)
{
TIM_CCxCmd(TIM2, TIM_Channel_1, TIM_CCx_Enable);
GPIO_SetBits(GPIOA, GPIO_Pin_1);
delay_us(40);
GPIO_ResetBits(GPIOA, GPIO_Pin_1);
}
/**
* @brief Main program.
* @param None
* @retval None
*/
int main(void)
{
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
start_measor_init();
input_capture_init();
flag=0;
while (1)
{
unsigned i;
i++;
if(i%100==0)
{
start_measor_start();
}
}
}
#include "input_capture.h"
#include "stm32f10x_tim.h"
unsigned char flag;
float distance ;
void input_capture_init(void)
{
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2,ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
GPIO_InitTypeDef GPIO_InitStruct;
GPIO_InitStruct.GPIO_Mode=GPIO_Mode_IPD;
GPIO_InitStruct.GPIO_Pin=GPIO_Pin_0;
GPIO_InitStruct.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_Init(GPIOA, &GPIO_InitStruct);
TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStruct;
TIM_TimeBaseInitStruct.TIM_ClockDivision=TIM_CKD_DIV1;
TIM_TimeBaseInitStruct.TIM_CounterMode=TIM_CounterMode_Up;
TIM_TimeBaseInitStruct.TIM_Period=65535;
TIM_TimeBaseInitStruct.TIM_Prescaler=7199;
TIM_TimeBaseInit(TIM2, &TIM_TimeBaseInitStruct);
TIM_ICInitTypeDef TIM_ICInitStruct;
TIM_ICInitStruct.TIM_Channel=TIM_Channel_1;
TIM_ICInitStruct.TIM_ICFilter=0xF;
TIM_ICInitStruct.TIM_ICPolarity=TIM_ICPolarity_Rising;
TIM_ICInitStruct.TIM_ICPrescaler=TIM_ICPSC_DIV1;
TIM_ICInitStruct.TIM_ICSelection=TIM_ICSelection_DirectTI;
TIM_ICInit(TIM2, &TIM_ICInitStruct);
NVIC_InitTypeDef NVIC_InitStruct;
NVIC_InitStruct.NVIC_IRQChannel=TIM2_IRQn;
NVIC_InitStruct.NVIC_IRQChannelCmd=ENABLE;
NVIC_InitStruct.NVIC_IRQChannelPreemptionPriority=2;
NVIC_InitStruct.NVIC_IRQChannelSubPriority=2;
NVIC_Init(&NVIC_InitStruct);
// TIM_Cmd(TIM3,ENABLE );
//TIM_CCxCmd(TIM3, TIM_Channel_1, TIM_CCx_Enable);
//TIM_ITConfig(TIM3, TIM_IT_CC1, ENABLE);
TIM_ITConfig(TIM2, TIM_IT_CC1, ENABLE);
TIM_Cmd(TIM2,ENABLE );
}
void TIM2_IRQHandler(void)
{
u16 record_rising,record_falling;
if( TIM_GetITStatus(TIM2, TIM_IT_CC1) != RESET)
{
if(flag==1)
{ record_falling=TIM_GetCapture1 ( TIM2 );
distance=(float)record_falling*340/200.0;
//record_rising=TIM_GetCapture1 ( TIM2 );
flag=0;
TIM_OC1PolarityConfig(TIM2,TIM_ICPolarity_Rising); //CC1P=0 設(shè)置為上升沿捕獲
}
else
{
record_rising=0;
record_falling=0;
TIM_SetCounter(TIM2,0);
TIM_OC1PolarityConfig(TIM2,TIM_ICPolarity_Falling); //CC1P=1 設(shè)置為下降沿捕獲
flag=1;
//
}
}
TIM_ClearITPendingBit(TIM2, TIM_IT_CC1);
}
template 基礎(chǔ)超聲波測距.7z
2020-11-7 20:12 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
583.26 KB, 下載次數(shù): 23, 下載積分: 黑幣 -5
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
午夜免费视频
|
欧美视频在线看
|
久久久久九九九九
|
成人黄色电影免费
|
国产成人网
|
天天干天天爱天天爽
|
欧美日韩国产在线观看
|
99久视频
|
成人午夜精品
|
综合一区二区三区
|
av永久免费
|
日韩精品一二三区
|
亚洲欧美视频一区
|
日韩在线不卡
|
一区二区三区精品视频
|
在线观看国产视频
|
日韩亚洲视频
|
免费中文字幕日韩欧美
|
看羞羞视频免费
|
国产偷自视频区视频
|
国产一区
|
在线综合视频
|
狠狠综合久久av一区二区小说
|
国产四虎
|
青青草免费在线视频
|
日韩精品一区二区三区四区
|
亚洲成人久久久
|
国产一区三区视频
|
99精品电影
|
99久久99
|
国产免费观看久久黄av片涩av
|
青青久在线视频
|
蜜桃视频在线观看免费视频网站www
|
99热精品国产
|
色播视频在线观看
|
久久精品国产久精国产
|
欧美人妖网站
|
成人久久18免费网站
|
成人在线中文字幕
|
日日骚网
|
日韩欧美在线观看视频网站
|