From 5f26d0e1f8bb5a8fadbfa17d095033411add7720 Mon Sep 17 00:00:00 2001 From: xiaonong Date: Thu, 3 Apr 2014 12:12:17 +0800 Subject: [PATCH] update the led driver. --- bsp/lpc408x/drivers/drv_led.c | 9 +++++---- bsp/lpc408x/drivers/drv_led.h | 8 ++++++++ 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/bsp/lpc408x/drivers/drv_led.c b/bsp/lpc408x/drivers/drv_led.c index f9cc5e602..77e66d2ab 100644 --- a/bsp/lpc408x/drivers/drv_led.c +++ b/bsp/lpc408x/drivers/drv_led.c @@ -1,7 +1,8 @@ #include #include "board.h" +#include "drv_led.h" -#define RT_DEVICE_CTRL_RTC_GET_COUNT 0x81 /**< get count */ +#define LED_DEVICE_CTRL 0x01 /*LED control command*/ #define LED_NUM 4 struct led_ctrl @@ -92,11 +93,11 @@ static rt_size_t rt_led_write(rt_device_t dev, rt_off_t pos, { if (*value++) { - led.ctrl[pos + index].port->CLR |= (1 << led.ctrl[pos + index].num); + led.ctrl[pos + index].port->CLR = (1 << led.ctrl[pos + index].num); } else { - led.ctrl[pos + index].port->SET |= (1 << led.ctrl[pos + index].num); + led.ctrl[pos + index].port->SET = (1 << led.ctrl[pos + index].num); } } return index; @@ -106,7 +107,7 @@ static rt_err_t rt_led_control(rt_device_t dev, rt_uint8_t cmd, void *args) { RT_ASSERT(dev == &led.parent); - if (cmd == RT_DEVICE_CTRL_RTC_GET_COUNT) + if (cmd == LED_DEVICE_CTRL) { rt_uint32_t *led_num = args; *led_num = LED_NUM; diff --git a/bsp/lpc408x/drivers/drv_led.h b/bsp/lpc408x/drivers/drv_led.h index e69de29bb..c25383666 100644 --- a/bsp/lpc408x/drivers/drv_led.h +++ b/bsp/lpc408x/drivers/drv_led.h @@ -0,0 +1,8 @@ +#ifndef __DRV_LED_H +#define __DRV_LED_H + +#define LED_DEVICE_CTRL 0x01 /*LED control command*/ + +void rt_led_hw_init(void); + +#endif -- GitLab