Слияние кода завершено, страница обновится автоматически
#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <unistd.h>
#include "head.h"
/*-------智能车库管理主程序-------*/
void usage(int argc, char **argv)
{
if(argc != 6)
{
printf("用法: %s <入库串口> <出库串口> <摄像头设备> <服务器IP> <端口号>\n", argv[0]);
exit(0);
}
}
int main(int argc, char **argv)
{
usage(argc, argv);
// 0,创建进程间通信的有名管道
mkfifo(RFID_SQLite_in, 0777);
mkfifo(RFID_SQLite_out, 0777);
mkfifo(SQLite_V4L2, 0777);
mkfifo(SQLite_ALSA, 0777);
mkfifo(SQLite_CARID,0777);
// 1,启动刷卡程序
pid_t pid1 = fork();
if(pid1 == 0)
{ //<入库串口> <出库串口>
execl("./RFID_demo.elf", "./RFID_demo.elf", argv[1], argv[2], NULL);
}
// 2,启动数据库程序
pid_t pid2 = fork();
if(pid2 == 0)
{
execl("./SQLite_demo.elf", "./SQLite_demo.elf", NULL);
}
// 3,启动摄像头程序
pid_t pid3 = fork();
if(pid3 == 0)
{ //<摄像头设备>
execl("./V4L2_demo.elf", "./V4L2_demo.elf", argv[3], NULL);
}
// 4,启动语音合成程序
pid_t pid4 = fork();
if(pid4 == 0)
{ //<服务器IP> <端口号>
execl("./TTS_demo.elf", "./TTS_demo.elf", argv[4], argv[5], NULL);
}
while(1)
pause();
return 0;
}
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )