RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

C2530(zigbee)入門開發(fā): 低功耗模式

DS小龍哥-嵌入式技術(shù) ? 來源:DS小龍哥-嵌入式技術(shù) ? 作者:DS小龍哥-嵌入式技 ? 2022-05-28 13:29 ? 次閱讀

一、低功耗模式介紹

低功耗是現(xiàn)在便攜式、消費(fèi)類設(shè)備都要考慮的功能,特別是使用電池供電的設(shè)備,對功耗的把握非常重要,功耗直接影響待機(jī)時(shí)長。 比如:我們現(xiàn)在的手機(jī)、平板、商務(wù)筆記本電腦、無線耳機(jī)等消費(fèi)類設(shè)備,還有智能井蓋、智慧路燈、這些不插市電的物聯(lián)網(wǎng)設(shè)備等。

CC2530支持配置低功耗模式,可以通過電源寄存器章節(jié)的介紹進(jìn)行配置,下面就介紹CC2530的低功耗幾個(gè)模式的配置,截圖來至CC2530中文數(shù)據(jù)手冊。

二、配置低功耗模式

低功耗運(yùn)行是通過不同的運(yùn)行模式(供電模式)使能的。各種運(yùn)行模式指的是主動(dòng)模式、空閑模式和供電。

模式1、 2和 3(PM1-PM3)。超低功耗運(yùn)行的實(shí)現(xiàn)通過關(guān)閉電源模塊以避免靜態(tài)(泄露)功耗,還通過使用門控時(shí)鐘和關(guān)閉振蕩器來降低動(dòng)態(tài)功耗。

image.pngimage.pngimage.pngimage.png

三、示例代碼

3.1 示例代碼1

/******************************************************************************
利用睡眠定時(shí)器,實(shí)現(xiàn)低功耗
******************************************************************************/
#include 

#define uint unsigned int
#define uchar unsigned char
#define CC2530_Delay 15000

#define RLED P1_0
#define YLED P1_1       //LED燈控制IO口定義

void CC2530_Delay(void);
void CC2530_Init_IO_AND_LED(void);
void CC2530_SysPowerMode(uchar sel);

/****************************************************************
    延時(shí)函數(shù)	
****************************************************************/
void CC2530_Delay(void)
{
	uint i;
	for(i = 0;i= 20)
		{
			count = 0;     
			RLED = 0;
			CC2530_SysPowerMode(3);
			//10次閃爍后進(jìn)入睡眠狀態(tài)PM3
		}
		//CC2530_Delay();
		CC2530_Delay();
		//延時(shí)函數(shù)無形參,只能通過改變系統(tǒng)時(shí)鐘頻率或DEALY的宏定義
		//來改變小燈的閃爍頻率
	};
}
/*****************************************
    中斷處理函數(shù)-系統(tǒng)喚醒
*****************************************/
#pragma vector = P0INT_VECTOR
 __interrupt void P0_ISR(void)
 {
	if(P0IFG>0)
	{
		P0IFG = 0;
	}
	P0IF = 0;
	CC2530_SysPowerMode(4);
 }
復(fù)制代碼;i++);>

3.2 示例代碼2

/******************************************************************************
利用睡眠定時(shí)器實(shí)現(xiàn)低功耗
******************************************************************************/
#include 

/*****************************************
//定義類型
*****************************************/
#define uchar unsigned char
#define uint unsigned int

#define RLED P1_0
#define GLED P1_1
#define CRYSTAL 0
#define RC 1

typedef unsigned char       UINT8;
typedef unsigned char       INT8U;
typedef unsigned short      UINT16;
typedef unsigned short      INT16U;
typedef unsigned long       UINT32;
typedef unsigned long       INT32U;

void CC2530_Set_ST_Period(uint sec);
void CC2530_Init_SLEEP_TIMER(void);
void CC2530_Delay(uint n);
void CC2530_LedGlint(void);

char LEDBLINK;

void CC2530_InitLEDIO(void)
{
    P1DIR |= 0x03;  //P10、P11定義為輸出
    RLED = 0;
    GLED = 0;//LED燈初始化為關(guān)   
}

/*****************************************
設(shè)定系統(tǒng)主時(shí)鐘函數(shù)
*****************************************/
void  SET_MAIN_CLOCK(source) 
{                                  
	if(source)
	{                            
		CLKCONCMD |= 0x40;          /*RC*/               
		while(!(CLKCONSTA &0X40));  /*待穩(wěn)*/       
	}                                       
	else
	{                       
		CLKCONCMD &= ~0x47;        /*晶振*/             
		while((CLKCONSTA &0X40));  /*待穩(wěn)*/  
	}                                       
}

/*****************************************
設(shè)定系統(tǒng)低速時(shí)鐘函數(shù)
*****************************************/
void SET_LOW_CLOCK(source)                                
{                                                   
	(source==RC)?(CLKCONCMD |= 0X80):(CLKCONCMD &= ~0X80); 
}

/*********************************************************************
//主函數(shù)
*********************************************************************/
void main(void)
{
  SET_MAIN_CLOCK(CRYSTAL);
  SET_LOW_CLOCK(CRYSTAL);
  CC2530_InitLEDIO();
  LEDBLINK = 0;
  RLED = 1;
  GLED = 0;
  CC2530_Init_SLEEP_TIMER();
  CC2530_LedGlint();
  CC2530_Set_ST_Period(8);
  while(1)
  {
    if(LEDBLINK)
    {
      CC2530_LedGlint();
      CC2530_Set_ST_Period(8);
      GLED = !GLED;
      LEDBLINK = 0;
    }
    CC2530_Delay(100);
  }
}

/*****************************************
//初始化Sleep Timer
*****************************************/
void CC2530_Init_SLEEP_TIMER(void)
{
  ST2 = 0X00;
  ST1 = 0X0F;
  ST0 = 0X0F;
  EA = 1;  //開中斷
  STIE = 1;
  STIF = 0;
}



/*****************************************
//延時(shí)函數(shù)
*****************************************/
void CC2530_Delay(uint n)
{
  uint jj;
  for(jj=0;jj> 16);
   ST1 = (UINT8)(sleepTimer >> 8);
   ST0 = (UINT8) sleepTimer;
}

#pragma vector = ST_VECTOR
__interrupt void ST_ISR(void)
{
	STIF = 0;
	LEDBLINK = 1;
};jj++);>


作者:DS小龍哥
鏈接:https://juejin.cn/post/7021694551660167175
來源:稀土掘金
著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • ZigBee
    +關(guān)注

    關(guān)注

    158

    文章

    2270

    瀏覽量

    242724
  • 低功耗
    +關(guān)注

    關(guān)注

    10

    文章

    2396

    瀏覽量

    103670
  • CC2530
    +關(guān)注

    關(guān)注

    19

    文章

    221

    瀏覽量

    57999
收藏 人收藏

    評論

    相關(guān)推薦

    STR-CC2530-DK ZIGBEE專業(yè)開發(fā)系統(tǒng)

    -97dBm。 RX:24mA。 TX:29mA。 低功耗:0.4uA 功能特點(diǎn): 1、具有USB 高速下載、支持IAR集成開發(fā)環(huán)境;2、具有在線下載、調(diào)試、仿真功能;3、提供ZigBee
    發(fā)表于 07-26 15:03

    C51RF-CC2530專業(yè)開發(fā)系統(tǒng)

    成都無線龍通信科技有限公司陳先生QQ :1091202304產(chǎn)品簡介: 無線龍ZigBee無線網(wǎng)絡(luò)專業(yè)開發(fā)系統(tǒng)C51RF-CC2530-PK是CC2530/CC2531的專業(yè)
    發(fā)表于 10-16 11:07

    CC2530開發(fā)平臺——使用說明

    能,業(yè)界標(biāo)準(zhǔn)的增強(qiáng)型8051 CPU、 8KB RAM 、256K閃存。模具有不同的低功耗運(yùn)行模式,使得它尤其適應(yīng)超低功耗要求的系統(tǒng),且模式切換時(shí)間極短。.
    發(fā)表于 03-08 11:10

    CC2530進(jìn)入低功耗PM2模式后要多久才醒一次呢?

    CC2530進(jìn)入低功耗PM2模式后要多久才醒一次呢?CC2530用Zstack,進(jìn)入低功耗PM2模式
    發(fā)表于 03-28 10:36

    低功耗藍(lán)牙芯片

    適應(yīng)超低功耗要求的系統(tǒng)。運(yùn)行模式之間的轉(zhuǎn)換時(shí)間短進(jìn)一步確保了低能源消耗。CC2530F256 結(jié)合了德州儀器的業(yè)界領(lǐng)先的黃金單元ZigBee 協(xié)議棧(Z-Stack?),提供了一個(gè)強(qiáng)大
    發(fā)表于 04-19 09:55

    Zigbee低功耗管腳怎么設(shè)置

    ZigBee低功耗除了要設(shè)置低功耗模式和使用halsheep函數(shù)外,還需要把用不到的管腳配置成什么模式呢,仿真下載管腳是否也配置呢?
    發(fā)表于 04-26 14:15

    ZigBee組網(wǎng)方案

    F32/64/128/256,分別具有32/64/128/256KB 的閃存。CC2530 具有不同的運(yùn)行模式,使得它尤其適應(yīng)超低功耗要求的系統(tǒng)。運(yùn)行模式之間的轉(zhuǎn)換時(shí)間短進(jìn)一步確保了低
    發(fā)表于 09-15 15:59

    Zigbee2.4G無線射頻RFID芯片CC2530芯片低功耗資料分享

    具有32/64/128/256KB 的閃存。CC2530 具有不同的運(yùn)行模式,使得它尤其適應(yīng)超低功耗要求的系統(tǒng)。運(yùn)行模式之間的轉(zhuǎn)換時(shí)間短進(jìn)一步確保了低能源消耗。CC
    發(fā)表于 07-09 15:02

    【技術(shù)精選】嵌入式STM32原創(chuàng)征文活動(dòng)精選文章

    CC2530(zigbee)入門開發(fā): 看門狗C2530(zigbee)入門開發(fā):
    發(fā)表于 07-27 18:26

    CC2530軟件運(yùn)行示例的詳細(xì)使用數(shù)據(jù)手冊免費(fèi)下載

    文描述了用于IEEE的C2530系統(tǒng)片上解決方案的軟件例子。802.15.4/ZigBee。它還描述了必要的硬件和軟件運(yùn)行的例子,以及如何開始。軟件實(shí)例設(shè)計(jì)運(yùn)行在C2530EM上SMARTF05EB。
    發(fā)表于 07-25 11:39 ?2次下載

    C語言入門開發(fā)板實(shí)驗(yàn)指導(dǎo)電子版下載

    C語言入門開發(fā)板實(shí)驗(yàn)指導(dǎo)電子版下載
    發(fā)表于 03-24 17:23 ?0次下載
    <b class='flag-5'>C</b>語言<b class='flag-5'>入門開發(fā)</b>板實(shí)驗(yàn)指導(dǎo)電子版下載

    STM32入門開發(fā): 采用IIC硬件時(shí)序讀寫AT24C08(EEPROM)

    STM32入門開發(fā): 采用IIC硬件時(shí)序讀寫AT24C08(EEPROM)
    發(fā)表于 11-21 13:51 ?47次下載
    STM32<b class='flag-5'>入門開發(fā)</b>: 采用IIC硬件時(shí)序讀寫AT24<b class='flag-5'>C</b>08(EEPROM)

    ZigBee-CC2530單片機(jī) - 低功耗運(yùn)行

    ZigBee-CC2530單片機(jī) - 低功耗運(yùn)行程序源碼#include "ioCC2530.h"#define LED1 P1_0 // P1_0定義為
    發(fā)表于 11-29 14:21 ?11次下載
    <b class='flag-5'>ZigBee-CC2530</b>單片機(jī) - <b class='flag-5'>低功耗</b>運(yùn)行

    Zigbee(二):低功耗

    因?yàn)樵诤枚?b class='flag-5'>zigbee應(yīng)用中都會涉及低功耗,所以把低功耗單獨(dú)拿出來說。
    發(fā)表于 12-31 19:04 ?9次下載
    <b class='flag-5'>Zigbee</b>(二):<b class='flag-5'>低功耗</b>

    CC2530(zigbee)入門開發(fā): 安裝IAR開發(fā)環(huán)境

    CC2530本身是一個(gè)51單片機(jī)內(nèi)核,開發(fā)過51的搞起來非常容易,也就是多了一個(gè)無線射頻部分;如果不使用無線射頻功能,那么就和一個(gè)正常的51單片機(jī)一樣。要進(jìn)行CC2530的軟件開發(fā),需
    的頭像 發(fā)表于 05-28 13:38 ?1.2w次閱讀
    CC<b class='flag-5'>2530</b>(<b class='flag-5'>zigbee</b>)<b class='flag-5'>入門開發(fā)</b>: 安裝IAR<b class='flag-5'>開發(fā)</b>環(huán)境
    RM新时代网站-首页