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!