您好,
我们的产品是盲人障碍物检测。为了升级到基于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服务?
关于,