How to get out of ">" mode after sending a system command?
1 次查看(过去 30 天)
显示 更早的评论
There are a list of command line commands for communication with a Cypress chip that happen to work fine if run one at a time from command line in matlab:
system('C:\Program Files (x86)\Cypress\Programmer\ppcli.exe');
OpenPort MiniProg3/300000000000 "C:/Program Files (x86)/Cypress/Programmer"
SetPowerVoltage 5.0
SetProtocol 4
I2C_GetDeviceList
They do not work if place in a matlab script (*.m)
Any tips/tricks I am missing here?
Thanks
1 个评论
Star Strider
2015-6-17
What is the result if you run them from a script? Errors? Warnings? Something else?
Saying ‘they do not work’ doesn’t provide much information.
采纳的回答
Walter Roberson
2015-6-17
tfile = tempname;
fid = fopen(tfile, 'wt');
fprintf(fid, '%s\n', 'OpenPort MiniProg3/300000000000 "C:/Program Files (x86)/Cypress/Programmer"');
fprintf(fid, '%s\n', 'SetPowerVoltage 5.0');
fprintf(fid, '%s\n', 'SetProtocol 4');
fprintf(fid, '%s\n', 'I2C_GetDeviceList');
fclose(fid);
system([ 'C:\Program Files (x86)\Cypress\Programmer\ppcli.exe <', tfile]);
delete(tfile);
2 个评论
Walter Roberson
2015-6-18
No. The input goes into a file and the application asks for more input when it is ready to proceed. If it is asking for input before it is ready and does not provide a way to wait for readiness, that is a Bad Design.
You might be interested in looking at popen() . The implementation there is for Unix type systems, but you could adapt it with the information from http://stackoverflow.com/questions/450865/what-is-the-equivalent-to-posix-popen-in-the-win32-api
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!