我知道一个无符号的数字永远不会小于0,也没有必要测试它,但我想避免虚假的频率调谐器。
/* freqKHz is in KHz (duh) */
void videoinput_set_tuner_freq( videoinput_t *vidin, int freqKHz )
{
unsigned long frequency = freqKHz;
if( videoinput_has_tuner( vidin ) ) {
if( frequency < 0 ) {
/* Ignore bogus frequencies. */
return;
}
frequency *= 16;
vidin->tunerlow = (tuner.capability & V4L2_TUNER_CAP_LOW) ? 1 : 0;
if( !vidin->tunerlow ) {
frequency /= 1000; /* switch to MHz */
}
...
}
字符串
有没有可能以另一种方式进行这种检查(也许有限制)?
想出一个更好的定义“假”的频率,一个值,不可能存在。
如果数字驱动程序自调谐以来没有改变频率,则数字驱动程序不会设置频率。模拟调谐器驱动程序不知道数字驱动程序保存的频率。当使用video4linux代码设置频率时,硬件会改变,但数字驱动程序的状态不会更新。
1条答案
按热度按时间nsc4cvqm1#
1当你皈依时
字符串
执行符号检查,
型
2根据您的应用程序,随后检查合理的界限也是一个很好的做法。当然,最小检查可以与上述步骤合并结合使用。
型
3推荐一种四舍五入的转换:
型