⚠️
嗨,...感谢您来论坛。令人兴奋的消息!我们现在正在迁至我们的新论坛平台,将提供更好的功能,并包含在主对话框网站中。所有帖子和帐户都已迁移。我们现在只接受新论坛上的流量 - 请发布任何新线程https://www.dialog-seminile.com/support.。我们将在未来几天修复错误/优化搜索和标记。
4个帖子/ 0新
最后一篇
格尔伯斯
离线
最后一次露面:1年9个月前
加入:2017-10-30 22:11
唤醒I2C中断

你好,
我希望在I2C总线中断直到DA14580睡眠。我已将设备配置为I2C从设备。但是,当我启用扩展睡眠模式时,外围设备似乎不起作用。(中断不起作用)。

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

谢谢

设备:
im_dialog.
离线
最后一次露面:1个月2周前
加入:2016-12-06 22:25
嗨gerbers,

嗨gerbers,

在进入睡眠模式之前,您需要配置要用于唤醒DA14580的PIN。有关睡眠/唤醒的更多信息,请查看以下(并引用相关代码)查看第8.50节:

https://support.dialog-seminile.com/system/files/restricted/um-b-05 ...

您可以在以下文档中找到有关睡眠模式的有用背景信息:

https://support.dialog-semicondiondiondum/system/files/restricted/trainin ...

此致

im_dialog.

盎司
离线
最后一次露面:2年5个月前
加入:2018-10-11 07:20
你好,

你好,

您是如何将设备配置为I2C奴隶的?

问候,

格尔伯斯
离线
最后一次露面:1年9个月前
加入:2017-10-30 22:11
盎司?来自澳大利亚?反正,

盎司?来自澳大利亚?无论如何,这里是。干杯。

void i2c_slave_init(void)// i2c从属初始化
{

setbits16(clk_per_reg,i2c_enable,1);//为i2c启用时钟
setword16(i2c_enable_reg,0x0);//禁用I2C控制器
setword16(i2c_con_reg,i2c_speed);// 100khz,从模式
setword16(i2c_rx_tl_reg,rx_packet_threshold);//在收到的qty(rx_packet_threshold)字节时生成中断
// setword16(i2c_enable_reg,0x1);//启用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);

}