Не понял, что значат аргументы в функции: Код (C++): int main(int argc, char** argv) Кто сможет объяснить?
На ПК операционка передает программе параметры при запуске как массив строк. argc - количество аргументов argv - массив строк с текстом аргументов На микроконтроллере эти параметры смысла не имеют.
Понятно, что это не МК. Это Raspberry Pi - Линукс. Что почитать на тему? Надо передавать некую, заранее известную информацию в UART. В режиме командной строки работает: ./uartnoolite /dev/ttyAMA0 Задача - спрятать информацию о порте в сам файл: /dev/ttyAMA0
Это стандартная точка входа, используемая в C/C++ argc - количество параметров, поступающих из командной строки. Обычно не меньше 1, поскольку нулевым параметром идет имя исполняемого файла (может быть с путем к нему). argv - массив указателей на параметры командной строки. Параметры разделяются пробелами. Если часть параметров взята в кавычки, то она трактуется как один параметр. Возвращаемое значение - код возврата, который получит программа, вызвавшая данную программу, после завершения вызванной программы. Например. Исполняемый файл с откомпилированной программой называется program и находится в /home/user/folder Запускаем программу из консоли следующим вызовом /home/user/folder/program file1.ext file2.ext "f i l e.ext" В этом случае argc будет 4, argv[0] будет указывать на "/home/user/folder/program", argv[1] на "file1.ext", argv[2] на "file2.ext", argv[3] на "f i l e.ext" На МК применяется форма данной функции без аргументов: int main (void)
Это не совсем файл. Дело в том, что в Linux каталог /dev -- это каталог "драйверов" (dev == devices - устройства). Попробую объяснить: для любого устройства (диск, монитор, мышь, клавиатура, принтер, сканер и т.п.) в ОС Linux создается "файл", что бы можно было с этим устройством обмениваться данными. Например, драйвер видеокарты Nvidia -- это утройство /dev/video0, все что будет записано в "файл" /dev/video0 опеределённым образом отразится на мониторе (только в этот "файл" нужно писать правильные данные, иначе выведете из строя видеокарту).
Знать бы... Передо мной Малина и С++. И состояние... как будто первый раз в руках Ардуино держу. Все что на С написано - понятно. Но как это взаимодействует с GPIO Малины - темный лес.
Есть библиотека: http://wiringpi.com/ Если Вы пользуетесь OC Linux не только для "Малинки", то Eclipse (можно другую IDE) + GCC("ARM CrossCompilation") + WiringPI = исполняемый файл для "Малинки", который может быть записан на флешку (ту которая в Малинку вставляется) и в последствии исполнен. В случае с IDE Eclipse, то с дополнением TCF -- Eclipse сам позаботится о переносе исполняемого файла в память "Малинки" (на флешку) и его запуске.