你好,我想让DA14580休眠直到被i2C总线中断。我已将该设备配置为i2c从站。然而,当我启用延长睡眠模式时,外设似乎不能工作。(中断不起作用)。
我不确定这些信息是否有帮助,但我正在使用Barebone项目作为模板。
谢谢
嗨,格柏,
在进入睡眠模式之前,您需要配置要用来唤醒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
你好,
您是如何将设备配置为i2c从站的?
问候,
盎司?来自澳大利亚吗?不管怎样,在这里。欢呼。
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);
}
嗨,格柏,
在进入睡眠模式之前,您需要配置要用来唤醒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
你好,
您是如何将设备配置为i2c从站的?
问候,
盎司?来自澳大利亚吗?不管怎样,在这里。欢呼。
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);
}