实际上,我在用DA1586接口一个基于中断的传感器。通常用于传感器和微控制器之间的I2c通信,我使用P0_2和P0_3引脚。我从传感器获取物理信息。Now to configure interrupt there are different interrupt pins for accelerometer and gyroscope which are to be connected to the microcontroller.So my issue is to which pins should i connect and configure them to enable the interrupt??
你好高,
请查看DA14585物联网多传感器开发工具包。你可以在我们的支持页面的DA14585的参考设计标签中找到它,或者为了方便你,请点击下面的链接=:
https://support.dialog-semiconductor.com/connectivity/product/da14585?qt-product_restricted_=5&qt-view__reference_designs__block_1=5#qt-view__reference_designs__block_1
谢谢,PM_Dialog
你好,
实际上,传感器有中断引脚,必须连接到DA14586微控制器。那么,我应该使用微控制器的哪个引脚来连接传感器的中断引脚,并在程序中配置它们?
谢谢,
高。
你好高,
为了将GPIO配置为一个中断,你应该使用GPIO_EnableIRQ() API。您能说明一下您的问题是什么吗?您不应该选择任何特定的GPIO。我认为SW示例:读取I2C加速计并发送通知数据来自我们的支持门户的示例可能会对您有所帮助。请按照描述的步骤进入SW示例:DA1458x安装示例为了运行这个示例。
谢谢,PM_Dialog
实际上,我在用DA1586接口一个基于中断的传感器。通常用于传感器和微控制器之间的I2c通信,我使用P0_2和P0_3引脚。我从传感器获取物理信息。Now to configure interrupt there are different interrupt pins for accelerometer and gyroscope which are to be connected to the microcontroller.So my issue is to which pins should i connect and configure them to enable the interrupt??
开发套件中的哪些引脚用于配置中断?
你好高,
gpio是完全可编程的,所以你可以选择他们中的任何一个,并配置为中断引脚。请查看表1:DA14586 datasheet的Pin Description。你能说明一下你的目标是什么吗?另外,我建议你看一下10.3.6函数参考:中断处理函数一节UM-B-079 DA14585 & DA14586软件平台参考(SDK 6.0.8)用户手册,以便找到所有可用的api。
谢谢,PM_Dialog
你好,
实际上,我正在执行一个i2c接口之间的陀螺传感器和DA14586 MCU。我以i2c_eeprom代码为参考,编程后在终端接收传感器值。对于i2c,我已经使用DA14586的P0_2和P0_3引脚分别连接到传感器SCL和SDA引脚。我使用的传感器是一个基于中断的传感器。要配置中断,我必须将传感器的中断管脚连接到对话MCU。那么我应该连接到哪个引脚呢?以及如何配置中断?我应该使用GPIO_enableIRQ API吗?
有参考资料吗?
谢谢你的支持。
谢谢,
高。N
额外的查询
主要的应用是当传感器越过一个设置的阈值时,它应该产生一个中断。对于这种类型的应用程序,我应该遵循什么API ?
你好高,
您可以将传感器的中断引脚连接到DA14586的每个GPIO。您应该将GPIO配置为输入,并使用GPIO_enableIRQ()来从DA14586一侧获得中断。之后,你可以注册一个回调函数,因为你可以使用GPIO_RegisterCallback() API从传感器获得中断。
谢谢,PM_Dialog
你好,
实际上,我想激活传感器,保持微控制器处于睡眠模式,当基于设置的阈值产生中断时,微控制器应该处于激活状态,如果产生中断就通知,这样我想节省微控制器的电源。如何完成这类任务?
谢谢,
高
你好高,
>>激活传感器,保持微控制器处于休眠状态
你能解释一下吗?DA14586将处于睡眠模式,传感器将产生一个中断,以唤醒芯片?那是正确的吗?否则,请
谢谢,PM_Dialog
当传感器中产生中断事件时,它应该唤醒微控制器。我想读取传感器数据,然后保持微控制器处于睡眠模式,当一个中断产生时,它应该唤醒微控制器,而不是由微控制器连续监测。
谢谢,
高
额外的查询
1)中断产生后如何实现Callback函数。只有当我们使用GPIO回调寄存器API?
2)当跨越阈值时,产生中断的流程是什么?
3)启用IRQ和回调中断,就是这样吗?
你好高,
我强烈建议你看看SDK的ble_app_sleepmode。如果设备配置为任何睡眠模式,您可以通过唤醒控制器唤醒它。此外,阅读UM-B-080用户手册中的7.6 Pillar 5(睡眠模式)将非常有帮助,以便了解如何唤醒设备。在这种情况下,中断将从传感器而不是从按钮产生。
谢谢,PM_Dialog
你好,
我在启用GPIO配置的中断引脚时遇到了问题。
将GPIO管脚配置为中断管脚,我已经完成了
在user_peripher_setup .h ->中使用宏定义端口和引脚
2)在user_peripher_setup .c ->使用GPIO ConfigurePin配置GPIO
并将参数传递给GPIO_EnableIRQ()
以上程序是否正确?
你好高,
请检查下面的步骤,演示如何使用IRQ和检测从连接到pin1_1的按钮的中断。请注意,使用下面的代码片段,您将无法从睡眠中醒来。如果你想要这个功能,请让我知道或检查ble_app_sleepmode示例。
#定义GPIO_BUTTON_PORT GPIO_PORT_1
#定义GPIO_BUTTON_PIN GPIO_PIN_1
空白GPIO_reservations(空白)
{
保留gpio (push_button, gpio_button_port, gpio_button_pin, pid_gpio);
}
Void set_pad_functions(Void) //设置gpio端口函数模式
{
GPIO_ConfigurePin(GPIO_BUTTON_PORT, GPIO_BUTTON_PIN, INPUT_PULLUP, PID_GPIO, false);
}
GPIO_RegisterCallback (GPIO0_IRQn your_callback_function);
GPIO_EnableIRQ (GPIO_BUTTON_PORT GPIO_BUTTON_PIN GPIO0_IRQn,真的,假的,0)
如果GPIO_EnableIRQ()中的low_input为TRUE,则在输入低时生成IRQ。如果输入值低,则会触发your_callback_function。你还应该包含gpio.h库。
问候,PM_Dialog
嗨
感谢GPIO配置程序,我希望当传感器触发中断时,微控制器从睡眠中醒来。如何做到这一点呢?
嗨
感谢GPIO配置程序,我希望当传感器触发中断时,微控制器从睡眠中醒来。如何做到这一点呢?
你好高,
正如我在之前的文章中提到的,如果你想从任何类型的睡眠模式中醒来,你应该使用唤醒控制器。如果您的设备进入睡眠模式,我提供给您的代码片段将无法工作。你能说明一下你想要完成什么吗?与SDK的ble_app_sleepmode示例相同的功能?你检查过这个例子了吗?您可以找到使用唤醒控制器的适当步骤。
谢谢,PM_Dialog
嗨
实际上,我正在用DA14586接口一个基于陀螺中断的传感器,我已经完成了i2c接口,并得到了传感器的输出值。当它越过某个阈值时,它应该发出通知。要明确的是,我想实现我在附件图片中提到的一个。
谢谢,
高。N
你好高,
抱歉,我有点困惑。附件中的图片是指哪一张?你能把它系上吗?
谢谢,PM_Dialog
没有附上道歉。这是图像。请解压zip文件。
谢谢,
高。N
你好高,
请查看DA14585物联网多传感器套件参考设计中的物联网项目。你可以在DA14585的支持门户中找到这个参考设计,我正在谈论的项目位于DA14585_IOT_MULTI_SENSOR_DK_v6.160.2\DA14585_MULTI_SENSOR_DK\v6.160.2\projects\target_apps\iot\iot_585\Keil_5路径下。也请参阅第5.3.3段
DA14585物联网多传感器开发工具包:UM_B_096用户手册。设备将默认启动广告。发布时间由ADV_TIME_OUT上设置的值决定。当计时器到期时,执行user_app_on_adv_undirect_complete()来终止广告。如果睡眠模式设置为ARCH_EXT_SLEEP_ON,系统将尝试关机并启用运动中断唤醒。如果ALWAYS_ADVERTISE未定义,运动传感器将被排除在该项目之外,因此没有办法唤醒处理器。用于此目的的加速度计配置为低功耗操作,具有“任意运动”中断功能集。处理器被允许进入扩展睡眠模式,只有当它接收到来自加速度计的中断时才会唤醒。然后执行中断处理程序wkup_intr_non_connected_cb(),它启动广告。请遵循在user_app_on_adv_undirect_complete()函数中调用的wom_acc_setup()来理解如何通过运动中断唤醒
谢谢,PM_Dialog