ZigBee学习——在官方例程基础实现点灯

IAR版本 :10.10.1
Z-stack版本 :3.0.2

一、买的板子原理图

在这里插入图片描述

二、实现过程

2.1 重定义LED的物理映射(HAL层)

在这里插入图片描述

#define LED1_BV           BV(0)  
#define LED1_SBIT         P1_0
#define LED1_DDR          P1DIR
#define LED1_POLARITY     ACTIVE_LOW  

(1)其中的BV(N)表示数值1向左移动N位,等价于(1 << N),因此BV(0)的值为1<<0,也就是等于1。
(2)#define LED1_SBIT P1_0表示LED1与CC2530的P1_0连接。
(3)#define LED1_DDR P1DIR表示LED1对应的方向寄存器为P1DIR。P1DIR在前面的章节已经讲解过,这里不再讲解了。
(4)#define LED1_POLARITY ACTIVE_LOW表示LED1是低电平驱动的,也就是给P1_0输入低电平,LED1就会被点亮,源代码是HIGH,这里根据板子LED的接法设置为低电平驱动

2.2 创建LED事件(应用层)

2.2.1 定义用户事件

App->zcl_genericapp.h->宏定义事件(独热编码)
在这里插入图片描述

#define TEST_LED_EVT                        0x0010 

2.2.2 修改zclGenericApp_event_loop()

App->zcl_genericapp.c->zclGenericApp_event_loop()
在这里插入图片描述

// 处理自定义的用户事件:TEST_LED_EVT 
if ( events & TEST_LED_EVT )
{
   
    printf("Blink LED!\r\n");

    HalLedBlink(
        HAL_LED_1,//指定第1盏LED
        10,//指定闪烁次数是10次
        50,//指定50%的时间LED是处于开启状态
        1000);//指定1次闪烁的时间周期是1000ms
        
    //消除已经处理的事件,然后返回未处理的事件
    return ( events ^ TEST_LED_EVT );
}

2.3 触发事件

App->zcl_genericapp.c->zclGenericApp_Init()

将下面这行代码添加到这个函数的末尾

在这里插入图片描述

// 触发事件
osal_start_timerEx( zclGenericApp_TaskID, TEST_LED_EVT, 5000 );

相关推荐

  1. 单片机开发-实现Zigbee的LED交替闪烁

    2024-02-04 14:34:01       18 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-04 14:34:01       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-04 14:34:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-04 14:34:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-04 14:34:01       18 阅读

热门阅读

  1. serialVersionUID详解

    2024-02-04 14:34:01       27 阅读
  2. mhformer代码笔记

    2024-02-04 14:34:01       27 阅读
  3. 01背包,但是bit -枚举 + 位运算

    2024-02-04 14:34:01       24 阅读
  4. MySql -- my.ini

    2024-02-04 14:34:01       30 阅读
  5. Uni-app+Uni-cloud开发体验

    2024-02-04 14:34:01       32 阅读
  6. 剪辑思维大学习(Day1) - 年终Vlog混剪

    2024-02-04 14:34:01       30 阅读
  7. 全志H713 Android 11 :给AOSP源码,新增一个Product

    2024-02-04 14:34:01       30 阅读
  8. 【SpringBoot1】Spring Boot是如何推断你的工程类型的

    2024-02-04 14:34:01       36 阅读