树莓派控制板载LED闪烁
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#define LED_TRIGGER “/sys/class/leds/led0/trigger”
#define LED_BRIGHTNESS “/sys/class/leds/led0/brightness”
void write_file(const char *filename, const char *value)
{
FILE *fp = fopen(filename, “w”);
if (fp == NULL)
{
perror(“打开文件失败”);
exit(1);
}
fprintf(fp, “%s”, value);
fclose(fp);
}
int main(void)
{
printf(“开始控制板载ACT LED闪烁…\n”);
printf(“按Ctrl+C退出程序\n”);
// 将LED触发模式设置为none,以便手动控制
write_file(LED_TRIGGER, "none");while (1) {// 点亮LEDwrite_file(LED_BRIGHTNESS, "1");sleep(1);// 熄灭LEDwrite_file(LED_BRIGHTNESS, "0");sleep(1);
}return 0;
}
对应的Makefile
CC = gcc
CFLAGS = -Wall -g
SOURCES = led.c
OBJECTS = $(SOURCES: .c = .o)
TARGET = LED_APP
$(TARGET) : $(OBJECTS)
$(CC) $(CFLAGS) -o $(TARGET) $(OBJECTS)
%.o : %.c
$(CC) $(CFLAGS) -c $< -o $@
clean:
rm $(TARGET)