реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> С из Матлаба, Как вызывать файл С из м-файла Матлаба ?
Саша Z
сообщение May 18 2007, 19:38
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 921
Регистрация: 6-04-07
Из: Israel
Пользователь №: 26 822



У меня проэкт включает несколько м-файлов обработки и подготовки файлов данных для дальнейшей обработки на С5402. Файлы обработки DSP - С + ассемблер (хотя ассемблер вызывается ис основного С файла, посему прозрачен в глобальном плане).
Два смежных вопроса:
1. Как вызывается из м-файла С файл ?
2. Желательно в целях автоматизации демо проэкта (на защите например), скомпоновать C/asm файлы для процессора в exe file, таким образом при его запуске программа загружается в С5402 DSK и выполняется. Предположим сделали такой exe, как из м-файла вызвать exe ?
3. В м-файле, после вызова С/exe файла ннужно обрабатывать результат работы DSP, т.е. нужно подождать окончания работы вызванного C/exe и затем продолжить работу (продолжить выполнение м-файл скрипта). Как "сказать" матлабу в м-файле, мол, подожди окончания работы вызванного C/exe и затем продолжи ?

Спасибо.
Go to the top of the page
 
+Quote Post
CodeWarrior1241
сообщение May 19 2007, 00:44
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 496
Регистрация: 14-03-07
Из: In The District
Пользователь №: 26 165



Hi Саша,
Цитата
1. Как вызывается из м-файла С файл ?
Посмотрите на help mcc. На форуме тоже есть примеры.

Цитата
2. Желательно в целях автоматизации демо проэкта (на защите например), скомпоновать C/asm файлы для процессора в exe file, таким образом при его запуске программа загружается в С5402 DSK и выполняется. Предположим сделали такой exe, как из м-файла вызвать exe ?
>> dos('NameOfExeFile.exe'); Например, я вызвал AppCAD из матлаб command line: dos('AppCAD.exe');
Возможно получить статус открытия ехе, и естественно надо открывать ехе находясь в её рабочей директории. Посмотрите help dos.

Цитата
3. В м-файле, после вызова С/exe файла ннужно обрабатывать результат работы DSP, т.е. нужно подождать окончания работы вызванного C/exe и затем продолжить работу (продолжить выполнение м-файл скрипта). Как "сказать" матлабу в м-файле, мол, подожди окончания работы вызванного C/exe и затем продолжи ?
Umm.... с умным видом задумался... Поидее, матлаб ждет пока the handle of the dos command отпустит промпт. По простанародному, если ты вызвал какой нибудь ехе application, матлаб выводит этот application to the front, а сама висит. Когда application закрывается, тогда скрипт продолжает работу. Так что если твоя ехе достаточно умная что бы закрыватся когда её работа оконьчина, проблем организовать "задержку" не будет.


--------------------
In Mozilla, you keep tabs on your browser. In the USSR, your browser keeps tabs on you.
Go to the top of the page
 
+Quote Post
Саша Z
сообщение May 19 2007, 07:20
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 921
Регистрация: 6-04-07
Из: Israel
Пользователь №: 26 822



Цитата(CodeWarrior1241 @ May 19 2007, 04:44) *
Hi Саша,
Посмотрите на help mcc. На форуме тоже есть примеры.

>> dos('NameOfExeFile.exe'); Например, я вызвал AppCAD из матлаб command line: dos('AppCAD.exe');
Возможно получить статус открытия ехе, и естественно надо открывать ехе находясь в её рабочей директории. Посмотрите help dos.

Umm.... с умным видом задумался... Поидее, матлаб ждет пока the handle of the dos command отпустит промпт. По простанародному, если ты вызвал какой нибудь ехе application, матлаб выводит этот application to the front, а сама висит. Когда application закрывается, тогда скрипт продолжает работу. Так что если твоя ехе достаточно умная что бы закрыватся когда её работа оконьчина, проблем организовать "задержку" не будет.


Спасибо Вадик, это уже что-то. Гляну хелпы матлаба.
Не совсем понял, что значит чтоб exe закрывался ? Я не большой спец в софте, буду благодарен ежели просветишь...
Go to the top of the page
 
+Quote Post
CodeWarrior1241
сообщение May 19 2007, 10:27
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 496
Регистрация: 14-03-07
Из: In The District
Пользователь №: 26 165



Цитата(Саша Z @ May 19 2007, 03:20) *
Спасибо Вадик, это уже что-то. Гляну хелпы матлаба.
Не совсем понял, что значит чтоб exe закрывался ? Я не большой спец в софте, буду благодарен ежели просветишь...

Я наверно не совсем правельно выразился - поиграйся с dos, увидишь что я имел в виду. Матлаб ждет пока ты пользуешся другой программой, когда программу (ехе) закрываеш ты возврощаешся в матлаб, и скрипт работает дальше. Мне показалось что ты именно это хотел.


--------------------
In Mozilla, you keep tabs on your browser. In the USSR, your browser keeps tabs on you.
Go to the top of the page
 
+Quote Post
Саша Z
сообщение May 19 2007, 10:53
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 921
Регистрация: 6-04-07
Из: Israel
Пользователь №: 26 822



Цитата(CodeWarrior1241 @ May 19 2007, 14:27) *
Я наверно не совсем правельно выразился - поиграйся с dos, увидишь что я имел в виду. Матлаб ждет пока ты пользуешся другой программой, когда программу (ехе) закрываеш ты возврощаешся в матлаб, и скрипт работает дальше. Мне показалось что ты именно это хотел.


ОК, спасибо, гляну в хелпы....

P.S. ты че не спишь по ночам ? smile.gif
Go to the top of the page
 
+Quote Post
CodeWarrior1241
сообщение May 19 2007, 10:59
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 496
Регистрация: 14-03-07
Из: In The District
Пользователь №: 26 165



Цитата(Саша Z @ May 19 2007, 06:53) *
ОК, спасибо, гляну в хелпы....
P.S. ты че не спишь по ночам ? smile.gif

Нееа, сплю, только я 20 мин назад домой пришел... Был на bаchlor party в городе yeah.gif ... А прошлой ночью на работе рано надо быть под implementation. Ща наверно валю спать.


--------------------
In Mozilla, you keep tabs on your browser. In the USSR, your browser keeps tabs on you.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 14:26
Рейтинг@Mail.ru


Страница сгенерированна за 0.01373 секунд с 7
ELECTRONIX ©2004-2016