#1楼主【原创】ZigBee学习之25——InitBoard.doc

#1楼主【原创】ZigBee学习之25——InitBoard.doc

  1. 1、本文档共27页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
#1楼主【原创】ZigBee学习之25——InitBoard.doc

#1楼主:【原创】ZigBee学习之25——InitBoard 文章发表于:2010-02-11 10:22 //初始化板上的IO InitBoard( OB_COLD ); //参数【OnBoard.h】 #define OB_COLD 0 #define OB_WARM 1 #define OB_READY 2 //【OnBoard.c】 void InitBoard( byte level ) { if ( level == OB_COLD ) { //关中断,最初的时候已经见过了 osal_int_disable( INTS_ALL ); // 关闭所有的LED,调用了LED设置函数 HalLedSet( HAL_LED_ALL, HAL_LED_MODE_OFF ); //【hal_led.h】 // #define HAL_LED_ALL (HAL_LED_1 | HAL_LED_2 | HAL_LED_3 | HAL_LED_4),我这里呢只有两个LED,所以可以屏蔽掉LED3,LED4,或者将后两个LED也映射到前面两个LED(其实就是宏定义啦) // #define HAL_LED_MODE_OFF 0x00 //#define HAL_LED_MODE_ON 0x01 //#define HAL_LED_MODE_BLINK 0x02 //#define HAL_LED_MODE_FLASH 0x04 //#define HAL_LED_MODE_TOGGLE 0x08 //LED设置函数【hal_led.c】 uint8 HalLedSet (uint8 leds, uint8 mode) { #if (defined (BLINK_LEDS)) (HAL_LED == TRUE) //前提条件是定义了闪烁LED和LED硬件驱动服务使能; // HAL_LED定义在【hal_board_cfg.h】 #ifndef HAL_LED #define HAL_LED TRUE //当设为FALSE时就不使用LED #endif #if (!defined BLINK_LEDS) (HAL_LED == TRUE) #define BLINK_LEDS #endif uint8 led; HalLedControl_t *sts; // LED控制结构体 typedef struct { uint8 mode; /* 操作模式 */ uint8 todo; /* 剩余的闪烁周期数 */ uint8 onPct; /* 周期中所占的比例 */ uint16 time; /* 开关周期时间(msec) */ uint32 next; /* 下次改变的时间 */ } HalLedControl_t; switch (mode) { case HAL_LED_MODE_BLINK: HalLedBlink (leds, 1, HAL_LED_DEFAULT_DUTY_CYCLE, HAL_LED_DEFAULT_FLASH_TIME); //LED设置的一些默认参数【hal_led.h】 #define HAL_LED_DEFAULT_MAX_LEDS 4 #define HAL_LED_DEFAULT_DUTY_CYCLE 5 #define HAL_LED_DEFAULT_FLASH_COUNT 50 #define HAL_LED_DEFAULT_FLASH_TIME 1000 //LED闪烁函数【hal_led.c】 void HalLedBlink (uint8 leds, uint8 numBlinks, uint8 percent, uint16 period) { #if (defined (BLINK_LEDS)) (HAL_LED == TRUE) //同样先判断是否启用了LED并且使用LED闪烁功能 uint8 led; HalLedControl_t *sts; if (leds percent period) //判断参数的有效性,percent参数指明一个周期中LED将开启的时间 { if

您可能关注的文档

文档评论(0)

ailuojue1 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档