在i2c中断上唤醒

⚠️
大家好. .感谢来到论坛。令人兴奋的消息!我们现在正在转向新的论坛平台,该平台将提供更好的功能,并包含在主对话网站中。所有的帖子和账号都已迁移。我们现在只接受在新论坛上的流量-请张贴任何新的线程在//www.wsdof.com/support.在接下来的几天里,我们会修复bug /优化搜索和标签。
4个职位/ 0个新的
最后发表
美国格柏公司
离线
最后看到:1年10个月前
加入:2017-10-30 22:11
在i2c中断上唤醒

你好,
我想让DA14580休眠,直到被i2C总线打断。我已经将设备配置为i2c slave。然而,当我启用扩展睡眠模式时,外围设备似乎无法工作。(中断不工作)。

我不确定这些信息是否有帮助,但我正在使用Barebone项目作为模板。

谢谢

设备:
IM_Dialog
离线
最后看到:2个月2个星期前
加入:2016-12-06 22:25
嗨,格柏,

嗨,格柏,

在进入睡眠模式之前,您需要配置想要用来唤醒DA14580的引脚。看看下面的8.50节(并参考相关代码),了解更多关于sleep/wake的信息:

https://support.dialog-semiconductor.com/system/files/restricted/UM-B-05..。

你可以在下面的文档中找到一些关于睡眠模式的有用的背景信息:

https://support.dialog-semiconductor.com/system/files/restricted/Trainin..。

致以最亲切的问候

IM_Dialog

盎司
离线
最后看到:2年6个月前
加入:2018-10-11 07:20
你好,

你好,

如何将设备配置为i2c从设备?

问候,

美国格柏公司
离线
最后看到:1年10个月前
加入:2017-10-30 22:11
盎司?来自澳大利亚吗?不管怎么说,

盎司?来自澳大利亚吗?不管怎样,这就是。欢呼。

void i2c_slave_init(void) // I2C Slave初始化

SetBits16 (CLK_PER_REG I2C_ENABLE 1);//启用I2C时钟
SetWord16 (I2C_ENABLE_REG 0 x0);//关闭I2C控制器
SetWord16 (I2C_CON_REG I2C_SPEED);// 100khZ, SLAVE模式
SetWord16 (I2C_RX_TL_REG RX_PACKET_THRESHOLD);//当接收到数量(RX_PACKET_THRESHOLD)字节时产生中断
/ / SetWord16 (I2C_ENABLE_REG 0 x1);//使能I2C控制器

NVIC_DisableIRQ (I2C_IRQn);
SetWord16 (I2C_INTR_MASK_REG, (M_RX_FULL | M_RD_REQ));//禁用所有接受RX_FULL和RD_REQ的中断。
NVIC_SetPriority (I2C_IRQn 3);
/ / NVIC_ClearPendingIRQ (I2C_IRQn);
/ / NVIC_EnableIRQ (I2C_IRQn);
/ / NVIC_ClearPendingIRQ (I2C_IRQn);