930电子网

 找回密码
 立即注册
艾克姆科技推出最新产品STC32G12K128开发板
查看: 14509|回复: 3

IIC 功耗问题

[复制链接]

6

主题

13

帖子

88

积分

注册会员

Rank: 2

积分
88
发表于 2018-8-17 09:52:11 | 显示全部楼层 |阅读模式
本帖最后由 陈小平 于 2018-8-17 17:07 编辑

你好!
    我用twi_hw_master.c 里面的     bool twi_master_transfer(uint8_t   address,                         uint8_t * data,
                         uint8_t   data_length,
                         bool      issue_stop_condition)

函数进行读写外设后,外设下电后底电流有 470uA,不使用IIC底电流2uA,        


而使用nrf_drv_twi.c 的驱动IIC 无法正常读写。请问 IIC 读写完成后应该怎样配置才能low power 模式?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

52

主题

339

帖子

6487

积分

版主

Rank: 7Rank: 7Rank: 7

积分
6487
发表于 2018-8-18 08:54:51 | 显示全部楼层
1:i2传输后,等待事件的时候,可以加上进入低功耗的代码,也可以用APP定时器,不能延时等待。
2:I2C用完后,反初始化到未使用前的状态。
回复 支持 反对

使用道具 举报

6

主题

13

帖子

88

积分

注册会员

Rank: 2

积分
88
 楼主| 发表于 2018-8-18 17:59:10 | 显示全部楼层


    if (issue_stop_condition)
    {
        NRF_TWI1->EVENTS_STOPPED = 0;
        NRF_TWI1->TASKS_STOP     = 1;
        /* Wait until stop sequence is sent */
        while (NRF_TWI1->EVENTS_STOPPED == 0)
        {
            // Do nothing.
        }

    }
在红色部分添加 做了IIC pin 脚反初始化,停止TWI 功耗还是没有降下去
回复 支持 反对

使用道具 举报

52

主题

339

帖子

6487

积分

版主

Rank: 7Rank: 7Rank: 7

积分
6487
发表于 2018-8-18 22:22:09 | 显示全部楼层
陈小平 发表于 2018-8-18 17:59


    if (issue_stop_condition)

相对较长时间不用的情况下反初始化,范初始化需要调用反初始化库函数,同时检查寄存器是否恢复到初始化之前一样,如果没有,执行响应的操作。
发送或接收数据时,可以进入低功耗,等待传输完成事件。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|官方淘宝店|930电子网 ( 皖ICP备16000695号-2 )

GMT+8, 2024-5-6 19:57 , Processed in 0.067729 second(s), 22 queries .

快速回复 返回顶部 返回列表