雷竞技电竞平台对话框半导体客户支持 - 定时器0 ISR。 https://support.dialog-seminile.com/resource-keywords/timer-0-isr. EN. 超声波界面使用计时器 https://support.dialog-semicondiondiondum/forums/post/dialog-smartbond-bluetooth-low-energy-%2%80%93-software/ultrasonic-interface-using-timer.
论坛:
dialog smartbond蓝牙低能–软件=“隐藏摘要字段标签的字段名称正文字段类型文本”>

您好,

我们的产品是盲人障碍物检测。为了升级到基于BLE的设备,我们选择DA14531模块

组件包括超声波传感器、蜂鸣器、触觉振动器、电池。

我正在尝试连接以下超声波传感器400 S/T R 100。为了产生40kHz的脉冲群,我在没有PWM的情况下配置了定时器0。我在定时器的ISR内创建了一个计数器来生成传输脉冲。我成功地做到了这一点(参见附件)。现在,在ISR内部延迟1ms后,我调用adc\u get\u sample()函数。从那里我根据超声波传感器原理确定距离。在keil调试模式下运行了几次迭代后,它陷入了静态内联void dlg_error_isr(void)
{
ASSERT_WARNING(0);

rwble.c中选择的项目是BLE Barbone项目。我附加了当障碍物放置在50厘米处时产生的回波触发脉冲。如您所见,当转换到距离约为51厘米时,时间间隔为3毫秒。我有一系列查询要在代码中实现这一点,

1。我无法读取ISR内的ADC样本。

2。您的ADC的精度是多少?w、 r.精确到毫伏

3。即使在没有任何上述功能的情况下运行ISR,我也无法连接到BLE扫描仪应用程序。

定时器配置

//启用定时器0/定时器2输入时钟
Timer0\u clk\u Enable()

timer0\u init(TIM0\u CLK\u FAST,PWM\u MODE\u ONE,TIM0\u CLK\u NO\u DIV)

//将Timer0/Timer2输入时钟分割因子设置为2,因此8 MHz输入时钟
Timer0\u 2\u时钟分割设置(&;时钟分割配置)

//12.5微秒的重新加载值(T=1/8 MHz*重新加载12.5微秒=0.125*100=12.5微秒)
定时器0设置pwm开启计数器(定时器开启)
定时器0设置pwm高电平计数器(无pwm)
定时器0设置pwm低电平计数器(无pwm)
//SWTIM\u IRQn irq的寄存器回调函数
timer0\u寄存器回调函数(突发用户回调函数)

//启用SWTIM_IRQn irq
定时器0_enable_irq()

ADC配置

//ADC配置
ADC偏移校准(ADC输入模式单端)


adc_init(&;echo_pin_cfg)

你能帮我集成这个传感器吗。我需要知道如何同时运行计时器ISR和BLE服务?

关于,

超声
附件:
星期五,10月30日04:13:12 +0000 巴拉吉 384708在https://support.dialog-semicondiondum. https://support.dialog-semicondiondiondimicon.com/forums/post/dialog-smartbond-bluetooth-low-energy -%ee2%80%93-software/ultrasonic-intace-using-timer.