zigbee學習之路 六 Time3 查詢方式

2022-05-03 17:39:09 字數 1378 閱讀 3709

一.前言

通過上次的學習,相信大家對cc2530微控制器的定時器的使用有了一定的了解,今天我們來介紹定時器3的使用,為什麼介紹定時器3呢,因為它和定時器4功能是差不多的,所以學會定時器3,就基本掌握了cc2530定時器的使用。

二.原理分析

我們要使用定時器3,就要先配置控制它的暫存器t3ctl,下面給出暫存器的介紹

跟定時器3有關的還有ircon這個暫存器,下面給出介紹

之前定時器1的查詢,是直接訪問ircon暫存器所進行的,這次我們要通過標誌位t3if來進行查詢。

三.程式

#include

#define uint unsigned int

#define uchar unsigned char

//定義控制led1燈的埠

#define led1 p1_0      //led1為p1_0埠控制

#define led2 p1_1      //led2為p1_1埠控制

#define led3 p1_4      //led3為p1_4埠控制

//函式宣告

void initled(void);    //初始化led埠

void initt3(void);     //初始化定時器t3

/********  函 數 名  : main  功能描述  : timer3測試(timer3查詢方式的使用)  輸入引數  : none   輸出引數  : none  返 回 值  : none *****/

void main(void)

uchar count=0;        

initled();  //led_io初始化     i

nitt3();           //timer3初始化        

while(1)    

if(t3if>0)    //查詢溢位標誌      

t3if=0;            

if((++count)==254)      //溢位一次約為0.5s           

/*********  函 數 名  : initled  功能描述  : led_io初始化函式  輸入引數  : none   輸出引數  : none  返 回 值  : none *************/

void initled(void)

/***********  函 數 名  : initt3  功能描述  : timer3初始化函式  輸入引數  : none   輸出引數  : none  返 回 值  : none ***/

void initt3(void)       

四.分析與總結

本次的程式功能實現很簡單,通過配置定時器,讓led每隔1秒閃一次,通過t3if暫存器來判斷定時器3是否溢位。

zigbee學習之路 一 zigbee介紹

一.前言 二.zigbee定義 三.zigbee特點 下面是zigbee特點的詳細介紹 1 低功耗 兩節五號電池支援長達6 個月到2 年左右的使用時間。2 低成本 由於簡化了協議棧,降低核心的效能要求,以cc2530 為例,核心就是乙個增強型的8051 核心,從而降低了晶元成本。每塊cc2530 大...

我的ZigBee學習之路

每個人總要有自己的一技之長,來體現自己的價值。每個都應該培養自己的以及之長,來實現自己的價值。這個世界是殘酷的,同時也是公平的,天道酬勤 相信付出總會有所回報。時間,是個神奇的東西,它帶走了一切,同時也帶來了一切。它是我們生命中唯一可以把握的事物。假如我們能夠活到90歲,每年365天,每天24小時,...

Zigbee學習之路3(單播實驗)

嘿,又和大家見面了 言歸正傳,在zigbee網路裡,模組之間要進行通訊,發射模組非常明確知道接收模組的網路位址,以這個位址傳送資料給接收模組,叫單播。模組在入網的時候,父節點隨機分配網路位址給子節點,但是協調器模組在網路裡的位址永遠是0x0000.一 單個任務掛鉤乙個端點!1 傳送資料的流程 cha...