3800|6

5310

帖子

453

TA的资源

五彩晶圆(高级)

楼主
 

【Atmel SAM R21创意大赛周计划】+详解ZLLDEMO例程中UART发送而LED0没输出问题 [复制链接]

【Atmel SAM R21创意大赛周计划】+详解ZLLDEMO例程中UART发送而LED0没输出问题

在使用ZLLDEMO时,UART里送出LIGHT设备的各种状态比如ON,OFF等,而LED0却无任何反应,现在把解决问题讲解下

目标功能:LED0既可以ON/OFF,有可以调亮度


1、PWM功能的开启功能
configuration.h 文件中  


// LED driving method
  #define APP_USE_PWM

决定是否开启PWM 调亮功能


2、ON/OFF状态
控制开关,实际上是控制PWM亮度0和255直接设置
  if (onOff)
  {
    //halOnFirstLed();
    #if APP_ZLL_DEVICE_TYPE > APP_DEVICE_TYPE_ON_OFF_LIGHT
    LEDS_SET_BRIGHTNESS(levelControlClusterServerAttributes.currentLevel.value);
    #else
    LEDS_SET_BRIGHTNESS(255);
    #endif
  }
  else
  {
    //halOffFirstLed();
    LEDS_SET_BRIGHTNESS(0);
  }

3、 为什么开启了PWM功能,输出没有呢!
LEDS_SET_BRIGHTNESS(255);===“BSP_SetLedBrightnessLevel(level)” 宏定义

leds.c文件中对输出控制
/**************************************************************************//**
\brief Set brightness level
\param[in] level - new brightness level
******************************************************************************/
void BSP_SetLedBrightnessLevel(uint8_t level)
{
#if defined(APP_USE_PWM)  头文件里定义了采用PWM方式输出
  currentL = level;
ledsSetColor();//对于当前的X,Y和L值设定的PWM值
#else
  if (level)
    BSP_OnLed(LED_FIRST);
  else
    BSP_OffLed(LED_FIRST);
#endif /* APP_USE_PWM */
  (void)level;
}
#if defined(APP_USE_PWM)

------------------------------------------------------------
/**************************************************************************//**
\brief Set PWM values for current X, Y and L values
******************************************************************************/
#if defined(APP_USE_PWM)
static void ledsSetColor(void)
{
#ifdef APP_USE_PWM
  int maxL;
  unsigned int r, g, b;

  maxL_FromXY(currentX, currentY, &maxL);
  XYL2RGB(currentX, currentY, currentL, maxL, &r, &g, &b);

  r = r * TOP / 65535;
  g = g * TOP / 65535;
  b = b * TOP / 65535;
  bspSetPwmChannelCompareValue(r, g, b);//PWM_CHANNEL_0,PWM_CHANNEL_1,PWM_CHANNEL_2
#endif
}


--------------------------------------------------------------------------------------------------------------------------
#if defined(APP_USE_PWM)
/**************************************************************************//**
\brief Set compare value for PWM channels
\param[in] ch1, ch2, ch3 - compare value
******************************************************************************/
void bspSetPwmChannelCompareValue(uint16_t r, uint16_t g, uint16_t b)
{
  //既然要PWM输出功能为何不开启该通道输出呢,那就我们自己加好了 !
  //增加不同的板子判断PWM输出
  //21——XPRO没有输出
  #if BSP_SUPPORT == BOARD_SAMR21_XPRO
    pwmChannel0.channelMask = (1 << PWM_CHANNEL_3);//PA19
    HAL_SetPwmCompareValue(&pwmChannel0, b);
  #else
  pwmChannel0.channelMask = (1 << PWM_CHANNEL_2);
  HAL_SetPwmCompareValue(&pwmChannel0, b);

  pwmChannel0.channelMask = (1 << PWM_CHANNEL_1);
  HAL_SetPwmCompareValue(&pwmChannel0, g);

  pwmChannel0.channelMask = (1 << PWM_CHANNEL_0);
  HAL_SetPwmCompareValue(&pwmChannel0, r);
#endif
}
#endif



总之只要ON/OFF功能就把 #define APP_USE_PWM注释掉
如果还要PWM功能那就要按上面部分修改下!

最新回复

哦?我记得用IAR编译好像有问题一样。不知道是不是这个例子。  详情 回复 发表于 2015-1-21 13:31

赞赏

1

查看全部赞赏

点赞 关注
 

回复
举报

5310

帖子

453

TA的资源

五彩晶圆(高级)

沙发
 
语言组织的不够好!勉强看看
 
 
 

回复

5310

帖子

453

TA的资源

五彩晶圆(高级)

板凳
 
语言组织的不够好!勉强看看
 
 
 

回复

6107

帖子

4

TA的资源

版主

4
 
编译问题解决了啊?

点评

ZLLDEMO编译没有错误的啊  详情 回复 发表于 2015-1-21 13:20
 
 
 

回复

5310

帖子

453

TA的资源

五彩晶圆(高级)

5
 
damiaa 发表于 2015-1-21 13:14
编译问题解决了啊?


ZLLDEMO编译没有错误的啊

 
 
 

回复

6107

帖子

4

TA的资源

版主

6
 
哦?我记得用IAR编译好像有问题一样。不知道是不是这个例子。

点评

试了“ZAppSINP”有个编译出错 后来配置下就可以了!  详情 回复 发表于 2015-1-21 13:32
 
 
 

回复

5310

帖子

453

TA的资源

五彩晶圆(高级)

7
 
damiaa 发表于 2015-1-21 13:31
哦?我记得用IAR编译好像有问题一样。不知道是不是这个例子。

试了“ZAppSINP”有个编译出错


后来配置下就可以了!

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表