|
基于STM32F030+FT1610FF1高精度超声波测距模块测距教程及参考程序等开源分享 资料下载见附件,电脑登入 微信公众号:游名开源 硬件说明: 2脚、3脚:需要接4.7到10K上拉电阻到3.3V或5V电源 特性: 极简的设计; 极轻的重量; 极高的测量灵敏度; 极低的消耗电流; 接口ESD保护; 偏捷的安装及使用方式; 有效测量距离3cm-1.5m(其它距离范围可定制); 支持3到5V宽电压,默认采用IO通信方式(默认IO通讯),接口兼容IIC、UART通信、485通信; |
STM32
超强工具——STM32CubeMX 你会用吗?
集结出发! STM32全国研讨会系列之一:ST智能门铃中国首秀
关于STM32启动文件的几个小问题
【银杏科技ARM+FPGA双核心应用】STM32H7系列35——USB_VCP_FS
【银杏科技ARM+FPGA双核心应用】STM32H7系列28——USB_HID
粉丝分享 | 图说CRC原理应用及STM32硬件CRC外设
STM32L151进入低功耗,并由RTC唤醒的故事
[转]stm32控制NFC模块(PN532)源码(P2P,模拟卡,读写卡等
STM32G070RB+LVGL移植
微信公众号
手机版
NUC_LEO-DG-------------- FT1610FF1
PB3------------------------------T/SDA/TX
PB5------------------------------E/SCL/RX
5V/3V----------------------------VCC
GND-----------------------------GND
然后再NVICSetings中选上TIM3 global interrupt,入下图:
全局变量:
uint8_t TIM3CH2_CAPTURE_STA=0;
uint32_t TIM3CH2_CAPTURE_VAL;
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
{
if((TIM3CH2_CAPTURE_STA&0X80)==0)
{
if(TIM3CH2_CAPTURE_STA&0X40)
{
if((TIM3CH2_CAPTURE_STA&0X3F)==0X3F)
{
TIM3CH2_CAPTURE_STA|=0X80;
TIM3CH2_CAPTURE_VAL=0XFFFF;
}
else TIM3CH2_CAPTURE_STA++;
}
}
}
void HAL_TIM_IC_CaptureCallback(TIM_HandleTypeDef *htim)
{
if((TIM3CH2_CAPTURE_STA&0X80)==0)
{
if(TIM3CH2_CAPTURE_STA&0X40)
{
TIM3CH2_CAPTURE_STA|=0X80;
TIM3CH2_CAPTURE_VAL=HAL_TIM_ReadCapturedValue(&htim3,TIM_CHANNEL_2);
long long temp=0;
float distance=0.0;
temp=TIM3CH2_CAPTURE_STA&0X3F;
temp*=0XFFFF;
temp+=TIM3CH2_CAPTURE_VAL;
temp=(temp*100)/58;
distance=(float)temp/100;
printf("Goal distence:%.2lf cm\r\n",distance);
__HAL_TIM_DISABLE(&htim3);
}
else
{
TIM3CH2_CAPTURE_STA=0;
TIM3CH2_CAPTURE_VAL=0;
TIM3CH2_CAPTURE_STA|=0X40;
__HAL_TIM_DISABLE(&htim3);
__HAL_TIM_SET_COUNTER(&htim3,0);
TIM_RESET_CAPTUREPOLARITY(&htim3,TIM_CHANNEL_2);
TIM_SET_CAPTUREPOLARITY(&htim3,TIM_CHANNEL_2, TIM_ICPOLARITY_FALLING);
}
}
}
int fputc(int ch,FILE *f)
{
while(0==(USART2->ISR&0x40));
USART2->TDR=ch;
return ch;
}