91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 7KB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發布日期: 2021-05-07
  • 語言: 其他
  • 標簽:

資源簡介

stm32RCT6多路超聲波模塊測距(多路定時器輸入捕獲),效果很好 幾年前傳不需要50個字描述,現在為了把系統自動設置的9積分下載改為5積分,就多打了這些字。

資源截圖

代碼片段和文件信息

#include?“stm32f10x.h“
#include?“sys.h“
#include?“delay.h“
#include?“usart.h“
#include?“led.h“
#include?“pwm.h“
#include?“timer2.h“
#include?“lcd.h“
#include?“bizhang.h“
#include?“maichong.h“
/////////////////////////////////////////////////////////////////////////////////////////////
//開發板型號:Mini?STM32開發板
//芯片類型:STM32F103RCT6
//作者:IterrlpointC
//版本:V1.0
//文件名:主函數 ???
//描述:函數初始化及主程序
//修改日期:2016/12/10
//修改內容:無
//修改原因:無
//Copyright(C)2016-Pattern?recognitionIterrlpointC.All?rights?reserved
/////////////////////////////////////////////////////////////////////////////////////////////

extern?u8????TIM2CH1_CAPTURE_STA;?????????????????????????????//輸入捕獲狀態
extern?u16 ?TIM2CH1_CAPTURE_VAL_STATIM2CH1_CAPTURE_VAL_END;?//輸入捕獲開始值,輸入捕獲結束值
extern?u8????TIM2CH2_CAPTURE_STA; ??????????????????????????//輸入捕獲狀態 ????
extern?u16???TIM2CH2_CAPTURE_VAL_STATIM2CH2_CAPTURE_VAL_END; //輸入捕獲開始值,輸入捕獲結束值
int?main(void)
?{
u8??lcd_id[12];??????????????????????????????????//存放LCD?ID字符串
u16?Distance_MidDistance_Right;?????????????????//中間距障距離,右邊距障距離
u32?temp1_TC1=0temp2_TC2=0;?????????????????????//捕獲通道1捕獲溢出次數,捕獲通道2捕獲溢出次數
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);??//設置中斷優先級分組2
delay_init(); ???? ?????????????????????????????//延時函數初始化
uart_init(9600); ? ?????????????????????????//設置串口值為9600 ?
LED_Init(); ?? ???????????????????????????????//初始化與LED連接的硬件接口
LCD_Init();??????????????????????????????????????//初始化LCD液晶顯示函數
MaiChong_Init();?????????????????????????????????//初始化脈沖發送函數
? TIM3_PWM_Init(8990);? ?????????????????????//定時器3不分頻,PWM頻率=72MHz/(899+1)=80Khz
? TIM2_Cap_Init(999972-1); ?????????????????????//定時器2分頻系數72,頻率=72MHz/(71+1)=1MHz
houtui_Init();???????????????????????????????????//初始化小車后退函數
qianjin1_Init();?????????????????????????????????//初始化小車正常前進函數
qianjin2_Init();?????????????????????????????????//初始化警報區小車前進函數
zuozhuang_Init();????????????????????????????????//初始化小車左轉函數
sprintf((char*)lcd_id“LCD?ID:%04X“lcddev.id);??//將LCD?ID打印到lcd_id數組
?
?while(1)
{
/*********************************TIM2通道2輸入捕獲高電平計算距離******************************/ ?
MaiChong1_Start(); ??????????????????????????????????//給第一個超聲波模塊發送脈沖
if(TIM2CH1_CAPTURE_STA&0X80)????????????????????????????//若成功捕獲到了一次高電平(最高位是1)
{
temp1_TC1=TIM2CH1_CAPTURE_STA&0X3F;?????????????????//將計數器溢出次數值賦給temp1_TC1
temp1_TC1*=10000; ??????????????????????????//溢出次數*重裝載值=溢出計數個數總和
if(TIM2CH1_CAPTURE_VAL_END>=TIM2CH1_CAPTURE_VAL_STA)//如果結束值大于等于初始值
{
?temp1_TC1+=(TIM2CH1_CAPTURE_VAL_END-TIM2CH1_CAPTURE_VAL_STA+1);//得到總的高電平時間=溢出總計數個數+最后一次高電平的時間
}
else????????????????????????????????????????????????//如果結束值小于初始值(說明發生至少一次溢出)???????????????????????
??{
?temp1_TC1+=(TIM2CH1_CAPTURE_VAL_STA-TIM2CH1_CAPTURE_VAL_END+1);//得到總的高電平時間=
}
TIM2CH1_CAPTURE_VAL_STA=TIM2CH1_CAPTURE_VAL_END=0;??//結束值和初始值清零
Distance_Mid=temp1_TC1/1000000.0*340/2.0*1000;??????//中間距障距離
? TIM2CH1_CAPTURE_STA=0;

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-05-01?11:05??避障\
?????目錄???????????0??2018-05-01?10:30??避障\MAICHONG\
?????文件????????2590??2018-05-01?10:30??避障\MAICHONG\maichong.c
?????文件?????????807??2018-05-01?10:30??避障\MAICHONG\maichong.h
?????文件????????6432??2018-05-01?10:30??避障\main.c
?????目錄???????????0??2018-05-01?10:30??避障\TIMER2\
?????文件????????7778??2018-05-01?10:30??避障\TIMER2\timer2.c
?????文件?????????691??2018-05-01?10:30??避障\TIMER2\timer2.h
?????文件??????????56??2018-05-01?11:06??避障\新建文本文檔.txt

評論

共有 條評論

相關資源