if( lock == 1 ){ //real_time wave lock = 0; if(adc_capture(fd0,65000,(unsigned char *)CH1Wave))//从adc0中读取65000个点的数据存入数组 { printf("adc_capture fd0 failed"); } lock = 1; if(adc_capture(fd1,ADC_CAPTURELEN,(unsigned char *)CH1DmaRxBuffer)) { printf("adc_capture fd1 failed"); }
时间: 2024-04-23 13:24:06 浏览: 29
lock_mutex.rar_Linux/Unix编程_Unix_Linux_
这段代码与前面的代码类似,只是多了一次从 ADC1 中读取数据的操作。当 lock 值为 1 时,先将 lock 的值置为 0,然后从 ADC0 中读取 65000 个数据点并存储到 CH1Wave 数组中。如果读取 ADC0 数据失败,则会输出一条错误信息。接着从 ADC1 中读取 ADC_CAPTURELEN 个数据点并存储到 CH1DmaRxBuffer 数组中。如果读取 ADC1 数据失败,则会输出一条错误信息。最后将 lock 的值重新设为 1,表示可以继续获取 ADC 数据并更新波形。这段代码主要用于实时采集多路 ADC 数据,并实时显示波形。
阅读全文