Matlab'de seri port iletişim sırasında Kayıt süresi: dizüstü # AçıkBen <code>fopen</code>, <code>fwrite</code> ve <code>fscanf</code> Aşağıdaki kodu kullanarak iki dizüstü bilgisayarlar arasındaki seri port iletişim hattı açmaya komutları Matlab kullanıyorum
:
laptop # AçıkportID='/dev/tty.USA28Z145P2.2'
s=serial(portID)
fopen(s)
fwrite(s,'67')
:
s=serial('COM3')
fopen(s)
out=fscanf(s)
Çalıştığım komut dizisinden, bazen yazım 67 ve bazen de 83. Out
bunların hepsini kaydedebiliyor.
Her fscanf
'un gerçekleştiği süreyi tam olarak kaydetmek için bir yol bulmaya çalışıyorum, bu mümkün mü? Diğer veriler toplanıyor ve veri alımı gerçekleşirken bu komutlar çalışıyor ve her bir fscanf
'un zamanını kaydetmem için bir yol bulmalıyım, böylece diğer verilerimle senkronize edebilirim.
Örneğin; Eğer COM3 portu '67'yi tararsa, bunun tam olarak ne zaman olduğunu bilmem gerekir çünkü veri toplama için' 67 '12 saniyelik bir dönemin başlangıcını gösterir.
Bunu nasıl yapacağını bilen var mı? Herhangi bir öneri çok takdir edilecektir! Yazılım yığını (MATLAB + işletim sistemi) gerçek zamanlı yetenekleri nedeniyle
sayesinde
Maheen
o ana kadar denedim ne olacak? Neden 'fscanf'' clock', 'now', vb. – Suever
Ayrıca, MATLAB'ın verileri birden çok kaynaktan gerçek zamanlı olarak almasını mı bekliyorsunuz yoksa tüm farklı verileri alan farklı sistemler mi var? – Suever
@Suever matlab tek bir kaynaktan veri alıyor. Aynı zamanda bir seri port üzerinden bağlı bir spektrometre. Komutumda saat kullanmayı denedim, ancak bana tarih ve saati vb. Verir, ancak önceki tüm satın alma işlemlerinin üzerine yazar. Ben onu şöyle kullanırım: 'out = fscanf (s); c = saat 've sonra ne olduğunu ve c olduğunu kontrol edin. tüm değerleri başlangıçtan başlatır ama saat –