summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernard Xiong <[email protected]>2014-04-03 18:07:02 +0800
committerBernard Xiong <[email protected]>2014-04-03 18:07:02 +0800
commit2c55f26f009b292569fdde2d9fa4ef1e59de3aa8 (patch)
tree0e426398584f7f29c2758d1db39f756893a9c193
parented2d2b0d706192083d4248308b59e40859ee03a1 (diff)
parent5f26d0e1f8bb5a8fadbfa17d095033411add7720 (diff)
Merge pull request #252 from nongxiaoming/rb4088-1.2.x
update the led driver.
-rw-r--r--bsp/lpc408x/drivers/drv_led.c9
-rw-r--r--bsp/lpc408x/drivers/drv_led.h8
2 files changed, 13 insertions, 4 deletions
diff --git a/bsp/lpc408x/drivers/drv_led.c b/bsp/lpc408x/drivers/drv_led.c
index f9cc5e602f..77e66d2abd 100644
--- a/bsp/lpc408x/drivers/drv_led.c
+++ b/bsp/lpc408x/drivers/drv_led.c
@@ -1,7 +1,8 @@
#include <rtthread.h>
#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 e69de29bb2..c253836669 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