|
现在我的从机上电处于接收数据模式,用的是干电池供电。但发现在电流比较大,有18MA.看资料上说。处于接收模式,只有12MA样子。我现在外围什么都没有接,就只有无线单片机部分。不知道是什么原因电流这么大?或者说还有什么好的方式可以降低电流的消耗吗?
/**************************************************
功能:RF初始化
**************************************************/
void Init_Rf(void)
{
RFCE = 0; // RF关闭
RFCKEN = 1; // 启动RF时钟
RF = 1; // 允许RF中断
Delay_MS(1000);
SPI_Write_Buf(WRITE_REG + TX_ADDR, TX_ADDRESS, TX_ADR_WIDTH); // 设置发射地址长度
SPI_Write_Buf(WRITE_REG + RX_ADDR_P0, TX_ADDRESS, TX_ADR_WIDTH); // 设置接收地址长度
SPI_RW_Reg(WRITE_REG + EN_AA, 0x01); // 启动自动应答功能
SPI_RW_Reg(WRITE_REG + EN_RXADDR, 0x01); // PIPE0接收数据
SPI_RW_Reg(WRITE_REG + SETUP_RETR, 0x1a); // 自动重传10次
SPI_RW_Reg(WRITE_REG + RF_CH, 40); // RF频率2440MHz
SPI_RW_Reg(WRITE_REG + RF_SETUP, 0x05); //-6dBm 发射功率
SPI_RW_Reg(WRITE_REG + RX_PW_P0, TX_PLOAD_WIDTH); // PIPE0 接收数据包长度
}
初始化后,然后处于接收方式
/**************************************************
功能:设置为接收模式
**************************************************/
void RX_Mode(void)
{
RFCE=0;
SPI_RW_Reg(WRITE_REG + CONFIG, 0x0f); // 上电, CRC为2 bytes,接收模式,允许RX_DR产生中断
RFCE = 1; // 启动接收模式
}
请教电流为什么比正常资料上大7个MA?
或者是还有什么好的降低功耗的办法? |
阿莫论坛20周年了!感谢大家的支持与爱护!!
你熬了10碗粥,别人一桶水倒进去,淘走90碗,剩下10碗给你,你看似没亏,其实你那10碗已经没有之前的裹腹了,人家的一桶水换90碗,继续卖。说白了,通货膨胀就是,你的钱是挣来的,他的钱是印来的,掺和在一起,你的钱就贬值了。
|