I have a porblem with reading a raspberry pi file in a fuction. I get the Erro: Call to MATLAB function aborted: Invalid file identifier. Use fopen to generate a valid file identifier.
2 ビュー (過去 30 日間)
古いコメントを表示
persistent sensorPath;
if isempty(sensorPath)
path = '/sys/bus/w1/devices/10-0008032a1531';
fileSeperator = '/';
sensorPath = [path,fileSeperator,'w1_slave'];
end
% Open file, read, and close it
fid = fopen(sensorPath);
w1_slave = fread(fid,1024);
fclose(fid);
0 件のコメント
回答 (2 件)
Ankitha Kollegal Arjun
2017 年 4 月 18 日
Check the value of 'fid' obtained. You can add the following lines to your code:
if fid == -1
error('File not found')
end
If the value of fid is -1, then it is likely that the file is not located in the supplied path.
Also, check if the unique sensor ID supplied in the path (10-0008032a1531) is the right one.
0 件のコメント
Stephen23
2017 年 4 月 18 日
編集済み: Stephen23
2017 年 4 月 18 日
The best solution is to always return fopen's second output message, and use it to display exactly what occurred when fopen tried to open the file:
[fid,msg] = fopen(...)
assert(fid>=3,msg)
Anyone who tells you to check the value of fid but does not tell you to get the second output is only telling you half of the answer!
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で MATLAB Support Package for Raspberry Pi Hardware についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!