我需要每5毫秒讀取BBB中的所有7個模擬引腳。我這樣做與以下C代碼:在beaglebone黑色中快速讀取模擬輸入
void main(){
char value_str[7];
long int value_int = 0;
FILE* f0 = fopen("/sys/bus/iio/devices/iio:device0/in_voltage0_raw", "r");
while(1){
fread(&value_str, 6, 6, f0);
value_int = strtol(value_str,NULL,0);
printf("0 %li\n", value_int);
fflush(stdout);
usleep(5000);
rewind(f0);
}
Hoever,CPU使用率真的很高(20%)。有什麼方法可以不同地讀取模擬輸入,以便它不使用太多的CPU?有人建議「DMA」,但我完全失去了這方面的...
任何幫助將不勝感激。
如果我理解正確,他們會描述如何從該文章中的外部ADC讀取樣本。我想使用低噪聲BBB ADC。 –