在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

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

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

一、低功耗模式介紹

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

CC2530支持配置低功耗模式,可以通過電源寄存器章節的介紹進行配置,下面就介紹CC2530的低功耗幾個模式的配置,截圖來至CC2530中文數據手冊。

二、配置低功耗模式

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

模式1、 2和 3(PM1-PM3)。超低功耗運行的實現通過關閉電源模塊以避免靜態(泄露)功耗,還通過使用門控時鐘和關閉振蕩器來降低動態功耗。

image.pngimage.pngimage.pngimage.png

三、示例代碼

3.1 示例代碼1

/******************************************************************************
利用睡眠定時器,實現低功耗
******************************************************************************/
#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);

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

3.2 示例代碼2

/******************************************************************************
利用睡眠定時器實現低功耗
******************************************************************************/
#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燈初始化為關   
}

/*****************************************
設定系統主時鐘函數
*****************************************/
void  SET_MAIN_CLOCK(source) 
{                                  
	if(source)
	{                            
		CLKCONCMD |= 0x40;          /*RC*/               
		while(!(CLKCONSTA &0X40));  /*待穩*/       
	}                                       
	else
	{                       
		CLKCONCMD &= ~0x47;        /*晶振*/             
		while((CLKCONSTA &0X40));  /*待穩*/  
	}                                       
}

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

/*********************************************************************
//主函數
*********************************************************************/
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;
}



/*****************************************
//延時函數
*****************************************/
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
來源:稀土掘金
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • ZigBee
    +關注

    關注

    158

    文章

    2270

    瀏覽量

    242806
  • 低功耗
    +關注

    關注

    10

    文章

    2404

    瀏覽量

    103709
  • CC2530
    +關注

    關注

    19

    文章

    221

    瀏覽量

    58041
收藏 人收藏

    評論

    相關推薦

    STR-CC2530-DK ZIGBEE專業開發系統

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

    C51RF-CC2530專業開發系統

    成都無線龍通信科技有限公司陳先生QQ :1091202304產品簡介: 無線龍ZigBee無線網絡專業開發系統C51RF-CC2530-PK是CC2530/CC2531的專業
    發表于 10-16 11:07

    CC2530開發平臺——使用說明

    能,業界標準的增強型8051 CPU、 8KB RAM 、256K閃存。模具有不同的低功耗運行模式,使得它尤其適應超低功耗要求的系統,且模式切換時間極短。.
    發表于 03-08 11:10

    CC2530進入低功耗PM2模式后要多久才醒一次呢?

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

    CC2530低功耗工作模式解析

    CC2530低功耗工作模式解析最近在研究CC2530低功耗模式,從官方的文檔Measurin
    發表于 04-14 15:28

    低功耗藍牙芯片

    適應超低功耗要求的系統。運行模式之間的轉換時間短進一步確保了低能源消耗。CC2530F256 結合了德州儀器的業界領先的黃金單元ZigBee 協議棧(Z-Stack?),提供了一個強大
    發表于 04-19 09:55

    Zigbee低功耗管腳怎么設置

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

    ZigBee組網方案

    F32/64/128/256,分別具有32/64/128/256KB 的閃存。CC2530 具有不同的運行模式,使得它尤其適應超低功耗要求的系統。運行模式之間的轉換時間短進一步確保了低
    發表于 09-15 15:59

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

    具有32/64/128/256KB 的閃存。CC2530 具有不同的運行模式,使得它尤其適應超低功耗要求的系統。運行模式之間的轉換時間短進一步確保了低能源消耗。CC
    發表于 07-09 15:02

    【技術精選】嵌入式STM32原創征文活動精選文章

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

    CC2530軟件運行示例的詳細使用數據手冊免費下載

    文描述了用于IEEE的C2530系統片上解決方案的軟件例子。802.15.4/ZigBee。它還描述了必要的硬件和軟件運行的例子,以及如何開始。軟件實例設計運行在C2530EM上SMARTF05EB。
    發表于 07-25 11:39 ?2次下載

    C語言入門開發板實驗指導電子版下載

    C語言入門開發板實驗指導電子版下載
    發表于 03-24 17:23 ?0次下載
    <b class='flag-5'>C</b>語言<b class='flag-5'>入門開發</b>板實驗指導電子版下載

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

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

    ZigBee-CC2530單片機 - 低功耗運行

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

    Zigbee(二):低功耗

    因為在好多zigbee應用中都會涉及低功耗,所以把低功耗單獨拿出來說。
    發表于 12-31 19:04 ?9次下載
    <b class='flag-5'>Zigbee</b>(二):<b class='flag-5'>低功耗</b>
    主站蜘蛛池模板: 白嫩少妇激情无码| 四虎永久在线观看免费网站网址| 四虎国产精品永久在线网址| 精品亚洲欧美无人区乱码| 天天干天天插天天射| free性乌克兰高清videos| 四虎在线精品免费高清在线| 国产精品久久久亚洲| 国产福利小视频在线观看| 亚洲综合色就色手机在线观看| 久久99精品一级毛片| 久久青草国产手机看片福利盒子| 国产亚洲精品免费| 美国一级毛片不卡无毒| 人人cao| 中文字幕在线资源| 韩国三级久久精品| 操操干干| 色婷婷五| 天天噜天天干| 狠狠色噜噜综合社区| 久久久99精品免费观看精品| 国内精品久久久久影院免费| 亚洲性天堂| 777777777妇女亚洲| 免费高清在线爱做视频| 日韩精品在线第一页| 最近2018中文字幕免费看2019| 国产美女主播在线| 欧美在线性| 欧美色综合久久| 久久综合九色| 四虎影视最新地址| 天天射日| 亚洲男人精品| 亚洲羞羞裸色私人影院| 老司机亚洲精品影院在线观看| 黄色毛片网| 68日本xxxxxxxxx18能看的| 噜噜啪啪| 网站国产|