i2c中断唤醒

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

你好,
我想让DA14580休眠直到被i2C总线中断。我已将该设备配置为i2c从站。然而,当我启用延长睡眠模式时,外设似乎不能工作。(中断不起作用)。

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

谢谢

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

嗨,格柏,

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

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年11个月前
加入: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);//当接收到qty (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);