你好,我希望在I2C总线中断直到DA14580睡眠。我已将设备配置为I2C从设备。但是,当我启用扩展睡眠模式时,外围设备似乎不起作用。(中断不起作用)。
我不确定这些信息是否有帮助,但我正在使用鞍骨项目作为模板。
谢谢
嗨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.
你好,
您是如何将设备配置为I2C奴隶的?
问候,
盎司?来自澳大利亚?无论如何,这里是。干杯。
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);
}
嗨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.
你好,
您是如何将设备配置为I2C奴隶的?
问候,
盎司?来自澳大利亚?无论如何,这里是。干杯。
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);
}