Browse Source

Subir archivos a ''

Readme lenguaje C
master
dllamas 2 years ago
parent
commit
b21829832d
1 changed files with 93 additions and 0 deletions
  1. +93
    -0
      ReadmeC.md

+ 93
- 0
ReadmeC.md View File

@ -0,0 +1,93 @@
#Control de LED Beagle Bone Black
##Este programa permite encender o apagar el LED 3 de la Beagle Bone Black con
un script en C.
Se comienza por importat librerías y declarar el path a seguir para
manipular el LED 3.
```C
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<time.h>
#define LED3_PATH "/sys/class/leds/beaglebone:green:usr3"
```
Se deben definir los path de los registros a manipular.
```C
#define bled "/brightness"
#define tled "/trigger"
#define en "/delay_on"
#define ap "/delay_off"
```
Se generan los prototipos.
```C
//Protypes:
void writeLED(char fileName[], char value[]);
void removeTrigger();
```
Se inicia el main, donde se indica cuando comienza la aplicación,
asimismo, se hace una comparación de los argumentos de entrada para
determinar si se enciende, se apaga o parpadea el LED. Para el parpadeo se utilizaron
los registros de timer, delay_on y delay_off.
```C
int main(int argc, char* argv[]){
printf("Starting app\n");
if(strcmp(argv[1],"on")==0){
printf("encendiendo LED\n");
removeTrigger();
writeLED(bled,"1");
}
else if(strcmp(argv[1], "off")==0){
printf("apagando LED\n");
removeTrigger();
writeLED(bled,"0");
}
else if(strcmp(argv[1],"blink")==0){
printf("blink\n");
writeLED(tled,"timer");
writeLED("en","50");
writeLED("ap","50");
}
else{
printf("comando invalido");
}
printf("programa finalizado");
return 0;
}
```
La función que se utilizó para poder escribir a los registros del LED es la siguiente.
```C
void writeLED(char fileName[], char value[]){
FILE* fp;
char fullName[150];
sprintf(fullName, LED3_PATH "%s", fileName);
fp = fopen(fullName, "w+");
fprintf(fp, "%s", value);
fclose(fp);
}
```
También fue necesario hacer una función para poder remover el trigger, la función es la siguiente.
```C
void removeTrigger(){
writeLED(tled, "none");
}
```
Después de esto se guarda el archivo y se le dan permisos de ejecución con el comando:
```sh
sudo chmod u+x Nombre_del_archivo.c
```
Finalmente para ejecutar el archivo en la Beagle Bone se utiliza el siguiente comando, en este ejemplo se le da el argumento para que el LED prenda y apague:
```sh
sudo ./Nombre_del_archivo.c blink
```

Loading…
Cancel
Save