Почему этот файл не записывается?

Поэтому у меня возникла ситуация, когда я пытаюсь записать файл Embedded Linux (плата Nitrogen6x). Я могу сделать это вручную с echo 1 > /sys/class/gpio/gpio16/value, Тем не менее, когда я пытаюсь сделать то же самое с помощью кода C:

FILE *fs;
fs = fopen("/sys/class/gpio/gpio16/value","w")
fputc(1,fs);
fclose(fs);

это не работает Это не дает никаких ошибок или чего-то, это просто не работает. Кто-нибудь когда-нибудь сталкивался с этим раньше? Что я могу сделать, чтобы это исправить. Есть ли способ «эхо», как я делаю вручную … но сделать это из кода? Каков наилучший способ продолжить?

Спасибо за вашу помощь!

1

Решение

Это потому, что вы пишете «CTRL-A» (код символа 1, а не цифра «1», отправляемая эхом) в значение gpio16 /.

Пытаться:

fputc('1', fs);

Если это все еще не работает, возможно, вам также нужен перевод строки:

fputs("1\n", fs);
7

Другие решения

Попробуйте использовать fputc('1',fs);,

echo пишет asci, что вы перенаправляете в файл.

3

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector