linux中的adc-testing程序谁来解释一下

linux中的adc-testing程序谁来解释一下,第1张

不大懂C++,不过基本能看懂,linux下对于设备的 *** 作基本上都是把设备抽象成/dev目录下的一个文件,通过对这个文件的 *** 作来实现对设备的 *** 作,比如这个例子中的/dev/adc

{

setCaption( "ADC-Testing" )

m_label = new QLCDNumber(this)

m_label->setGeometry(10,10, 100, 50)

m_label->setSegmentStyle(QLCDNumber::Flat)

startTimer(500)

} //这几行应该是其他的内容,与adc无关,目测是gui的部分

void TMainForm::timerEvent ( QTimerEvent * )

{

int fd = ::open("/dev/adc", 0) //打开/dev/adc设备文件

if (fd <0) {

return

}//出错则结束

char buffer[30] = "" //申请一个buffer

int len = ::read(fd, buffer, sizeof buffer -1) //从adc设备中读取长度为sizeof(buffer)-1的内容到buffer中

if (len >0) {//如果读到了内容

buffer[len] = '\0' //在读到的内容末尾插入'\0',即字符串结束符

int value = -1

sscanf(buffer, "%d", &value) //将buffer中的内容存到value中

m_label->display(value) //显示value的值

}

::close(fd) //关闭设备文件

整个test就是很简单的打开设备文件然后从设备文件中读值并显示

一般英语的意思我想你也明白,"size_t"这个变量没有定义而使用了。定义这个变量问题可以解决。但是至于这个变量该怎么定义就只有你知道了。可以把源码发过来看看。我猜你是否是使用的库函数的方式编程。一般库函数为了更清楚的表达某些类型会把int型 typedef成size_t. 在linux下内核源码中这样的定义更是屡见不鲜。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/yw/7216586.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-03
下一篇2023-04-03

发表评论

登录后才能评论

评论列表(0条)

    保存