1.6.5.3 LED
优质
小牛编辑
131浏览
2023-12-01
下一步是在例程中添加一个LED与我们的应用程序交互。
你必须添加一个管理LED库的头文件dev/leds.h。你可以在core/dev/leds.h中查看相关函数。
相关函数:
unsigned char leds_get(void);
void leds_set(unsigned char leds);
void leds_on(unsigned char leds);
void leds_off(unsigned char leds);
void leds_toggle(unsigned char leds);
正常情况下,所有的平台都包含下面的LED:
LEDS_GREEN
LEDS_RED
LEDS_BLUE
LEDS_ALL
在Z1 mote中,这些LED相关宏定义在platform/z2/platform-conf.h
中。
RE-Mote使用一个RGB LED——在一个设备中有三个通道的LED,可以显示任何红、绿、蓝组合的颜色。在头文件platforms/zoul/remote/borad.h
中有如下定义:
LEDS_LIGHT_BLUE
LEDS_YELLOW
LEDS_PURPLE
LEDS_WHITE
现在,我们只将红色LED打开,看看会发生什么。创建一个新的例程文件,并命名为test-leds.c
:
#include "contiki.h"
#include "dev/leds.h"
#include <stdio.h>
/*-------------------------------------------------*/
PROCESS(test_leds_process, "Test LEDs");
AUTOSTART_PROCESSES(&test_leds_process);
/*-------------------------------------------------*/
PROCESS_THREAD(test_leds_process, ev, data)
{
PROCESS_BEGIN();
leds_on(LEDS_RED);
PROCESS_END();
}
编译、加载这个新工程:
make clean && make test-leds.upload
命令make clean
用来删除先前编译生成的目标。
现在,红色LED应该是亮着的!
如果你修改了源代码,你必须重新编译,否者你所做的修改不会被加载到硬件中。我们总是推荐在编译之前使用
make clean
命令清除之前生成的目标文件。