进入睡眠状态

2019-07-19 16:09发布

我在使用TIcc1100e无线芯片过程中遇到了问题,正常的通信没问题就是我想让它进入睡眠状态,就是我不知道怎么去操作。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
18条回答
wuhany
1楼-- · 2019-07-19 18:57
然后呢?你是怎么应对这个的呢
jiaxw
2楼-- · 2019-07-19 23:52
那位大神有无线WOR(唤醒)的程序,我使用的是c51的单片机。
spark周
3楼-- · 2019-07-20 02:11
官网有例程
jiaxw
4楼-- · 2019-07-20 03:45
官网的历程我有点看不懂?大神写过这样的程序吗?
zhaoxqi
5楼-- · 2019-07-20 04:35
 精彩回答 2  元偷偷看……
jiaxw
6楼-- · 2019-07-20 09:18
CC1101 WOR唤醒在上电后或者复位后的第一次唤醒的时候,总是要很长一段时间才唤醒,能收到数据,但是收到第一次数据后,后面的收发却在设定时间内接受正常。下面 是我的寄存器设置

/*************************************************
函数名称 : CC1101_InitWOR
函数入参 : void
函数说明: 电磁波WOR唤醒功能初始化 设置为0.5秒轮训
函数备注: WOR 初始化 并进入掉电模式
**************************************************/
INT8U CC1101_InitWOR(void)
{
// halSpiStrobe(CCxxx0_SIDLE); //进入空闲状态
halSpiWriteReg(CCxxx0_MCSM2,0x03); //设置轮训时间
halSpiWriteReg(CCxxx0_MCSM0,0x38); //RC自动校准
halSpiWriteReg(CCxxx0_WOREVT1,0x43); //设置轮训周期
halSpiWriteReg(CCxxx0_WOREVT0,0xb5);

halSpiWriteReg(CCxxx0_WORCTRL,0x78); //启动自动校准 设置时间
halSpiStrobe(CCxxx0_SFRX); //复位RX——BUFF
halSpiStrobe(CCxxx0_SWORRST);
halSpiStrobe(CCxxx0_SWOR); //启动WOR
return 1;
}

void CC1101_WOR(void)
{
// halSpiStrobe(CCxxx0_SIDLE);
halSpiStrobe(CCxxx0_SFRX); //复位RX——BUFF
halSpiStrobe(CCxxx0_SWORRST);
halSpiStrobe(CCxxx0_SWOR); //启动WOR
}

void EINT0_IRQHandler(void)       //中断处理程序  GDO0    设置为06
{
UINT8 i,leng =8;
INT8U RxBuf[8]={0};
P3_ISRC = P3_ISRC;
if(halRfReceivePacket(RxBuf,&leng) ==0)      //判断接受是否正确
{
for(i=0;i<8;i++)
RxBuf = 0;
}
else                           //接受正确
{
Time_ok = 1;
}
CC1101_WOR();      //再次进入掉电状态
// P3_ISRC = P3_ISRC; //清中断标志
// System_Gorun(TEST);
// System_runfinger();
// EINT0_Off();
WDT();
}

一周热门 更多>