繁体   English   中英

i2c-dev放慢程序速度

[英]i2c-dev slowing down a program

我正在具有Raspbian内核版本4.1.6-v7 +的Raspberry Pi 2上运行简单的c / c ++代码,以便从新的FLIR Lepton摄像机查看热图像。 我还想查看我所指向的对象的实际温度,但是由于该温度表示为相对于摄像机内部温度的相对值,因此我需要调用一个函数lepton_temperature(),该函数需要使用i2c-dev模块活性。 当我激活它并运行该功能时,程序从9fps减慢到每分钟两帧。 我并没有真正修改提供的代码中的任何内容,所以我不明白为什么会发生这种情况。 功能如下:

int lepton_temperature() {
if(!_connected) {
      lepton_connect();
}
result = ((LEP_GetSysFpaTemperatureKelvin(&_port, &fpa_temp_kelvin)));
return ( fpa_temp_kelvin);
}

如果没有打开i2c-dev,则程序可以正常运行,但是当然,我得到的是零而不是温度值。 任何人都可能对正在发生的事情以及如何解决它/使其更快地有想法?

听起来似乎很明显,但是您的问题向我建议您忽略了它:对lepton_temperature调用使用单独的线程。

事实证明Alex是正确的,因为i2c命令是由同步的ioctl完成的,它是在每个加载的帧使程序过慢之后使用该命令执行的。 我没有考虑它,因为每帧的每个像素值都是根据该温度计算出来的,所以我确定不可能是这种情况。 原来我错了。 无论如何,感谢大家,很抱歉在没有首先检查一个显而易见的解决方案的情况下发布问题!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM