MATLAB: Digital acquisiton speed, it misses pulses

advantech pcidata acquisitiondigital input

Hi everyone,
I am trying to make a very simple acquisiton program in wich I read a low frequency digital signal and plot the results. The problem I have is that the acquisition doesn't seem to be fast enough for the application, as it misses many pulses at 80 Hz approximately. I don't understand why, the frecuency is very low and with an Advantech PCI 1711 Board this should't be happening.
Here is the program
dio = digitalio ('advantech',0)
hwlines = addline(dio,2,'In')
tic
for i=1:600
out(i)= getvalue (dio)
save('datos.txt','out')
end
tiempo=toc
stairs (out)
Thanks a lot in advance
Alejandro

Best Answer

It is not recommended to save() within the loop. save() can take a fair bit of time.