Bonjour,
j'ai un programme pour faire clignoter une led sur shell script et je veux traduire en C
voila le programme
// Blink an LED on breadboard
PIN="26" # P8_6is gpio1_3 = (32 * 1) + 3 = 35
GPIOPIN="/sys/class/gpio/gpio$PIN"
if [ -d "$GPIOPIN" ]; then
echo "Blinking LED connected to Pin $PIN ..."
else
echo $PIN > /sys/class/gpio/export
echo "Blinking LED connected to Pin $PIN ..."
sleep 1
fi
while true; do
echo high > $GPIOPIN/direction
sleep 2
echo low > $GPIOPIN/direction
sleep 2
done
voila ce que j'ai essayé
int main()
{
int p; char tab[max_N];
int gpio = 26;
p=open("/sys/class/gpio/export", O_WRONLY);
sprintf(tab, "%d", gpio);
write(p, tab, strlen(tab));
close(p);
sprintf(tab, "/sys/class/gpio/gpio%d/direction", gpio);
p = open(tab, O_WRONLY);
write(p, "out", 1);
write(p, "in", 3);
close(p);
if [ -d "$GPIOPIN" ] then
fprintf ("Blinking LED connected to Pin $PIN …")
else
// echo $PIN > /sys/class/gpio/export
fprintf("Blinking LED connected to Pin $PIN …")
//sleep 1
else
while (true) do
{
sprintf(tab, "/sys/class/gpio/gpio%d/value", gpio);
p = open(tab, O_WRONLY);
write(p, "1", 1);
write(p, "0", 1);
close(p);
return 0;
}
# ???
Posté par mouvda . Évalué à 1.
bonjour,
tu veux quoi : de l'aide, qu'on te le fasse ou autres : y a pas de questions ou de sollicitations dans ton texte ?
tant va la cruche à l'eau qu'à la fin elle t'explose en pleine tête
[^] # Re: ???
Posté par oumayma . Évalué à 1.
s'il y a quelqu'un qui peut corrigé ce que j'ai déjà essayé
merci d'avance
# Déjà
Posté par Tonton Benoit . Évalué à 1.
Un premier jet, sans chercher à comprendre le code :
max_N
n'est pas défini.C'est pas du C tout ça !
while (true) do
C'est pas du C, true n'existe pas en C, manque l’accolade fermante.[^] # Re: Déjà
Posté par benja . Évalué à 1.
Ça dépend dans quel C, visiblement dans C99 cela existe après avoir inclu
<stdbool.h>
.Après il reste certainement une question de bon goût :)
# 2 choses: syntaxe C, et poser une question intelligemment
Posté par freem . Évalué à 2.
Je n'ai pas répondu sur l'autre fil, mais je suppose que tu as fais un effort sur celui-la…
Donc, pour moi il va falloir que tu apprennes 2 choses:
while(true) do{}
ce n'est pas du C. Idem leif [ ... ] then
est une construction du shell.Pour ce qui est du shell, sais-tu ce que fais
[ -d foobar ]
?Et pour le code C, le jour ou tu feras des programmes sérieux, tu vas galérer à déboguer si tu ne prends pas un minimum de bonnes habitudes. Notamment:
Il y aurais sûrement d'autres choses à dire, mais commences par ça. Ho, et un dernier conseil pour la route, au sujet de la compilation: ajoutes les flags
-Wall
et-Wextra
.-Werror
est pas mal non plus quand on commence, parce que quand on ne maîtrise pas le langage, il vaut mieux suivre les conseils du compilateur, et ce flag te "forcera" à le faire.[^] # Re: 2 choses: syntaxe C, et poser une question intelligemment
Posté par oumayma . Évalué à -1.
ok, merci pour tes conseils
# dupe
Posté par Krunch (site web personnel) . Évalué à 2.
Ah ben il y a justement une autre entrée de forum à ce sujet. Tu trouvera peut-être la réponse par là https://linuxfr.org/forums/programmation-c--2/posts/shell-script-langage-c
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
[^] # Re: dupe
Posté par benja . Évalué à 1. Dernière modification le 23 novembre 2015 à 14:57.
Du coup je me suis planté d'endroit…
oumayma, réponse ici :
http://linuxfr.org/forums/programmation-c--2/posts/shell-script-langage-c#comment-1631988
PS: N'esite pas à poster ta version corrigée dans les commentaires cette fois ci…
[^] # Re: dupe
Posté par oumayma . Évalué à -2.
ok, merci beaucoup
# Python
Posté par Ludo . Évalué à -3.
Pourquoi vouloir le faire en C?
Fais le avec Python, ça sera moins compliqué pour commencer.
[^] # Re: Python
Posté par benja . Évalué à 1.
Hormis la question de l'empreinte, je ne trouve pas que pour ce genre de trivalité le python soit beaucoup plus facile, surtout si l'on ne maîtrise ni l'un ni l'autre à priori. Dans les 2 cas tu vas devoir passer autant de temps dans la documentation.
Maintenant pour faire des choses plus complexes, il y aurait probablement matière à débat.
[^] # Re: Python
Posté par lolop (site web personnel) . Évalué à 2.
Avec MicroPyhon alors…
Votez les 30 juin et 7 juillet, en connaissance de cause. http://www.pointal.net/VotesDeputesRN
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.