www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

vpisovanje binary block podatkov v HP33120A

 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Merilna tehnika in senzorji
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
silvanb
Član
Član



Pridružen-a: Sre 25 Sep 2013 8:36
Prispevkov: 34
Aktiv.: 0.24
Kraj: Solkan

PrispevekObjavljeno: Čet Okt 02, 2014 6:36 pm    Naslov sporočila:  vpisovanje binary block podatkov v HP33120A Odgovori s citatom

Zdravo,

Pri testiranjih uporabljam HP33120A generator, v katerega želim vpisati arbitrary signal. Brez težav vpisujem podatke v obliki niza ASCII znakov posameznih DAC vrednosti. Ker je točk veliko (16k), je tak način vpisovanja dolgotrajen - okoli 10 minut. Ta čas bi želel skrajšati z "binary block" načinom vpisovanja točk. Kar nekaj časa se že trudim, pa mi nikakor ne uspe. Za lažje razumevanje problema prilagam Matlab kodo. Zanima me, ali ima kdo od vas izkušnje z "binary block" načinom vpisovanja točk.

Hvala.
Lep pozdrav, Silvan


Koda:

DataVector = int16([100, 2000, -654, 1899, -1543, 222, 17, -890, 1345, 449, 8, -118, 551, -1, 0, 1890, -2000]);
arbBytes = num2str(length(DataVector) * 2);
header = ['DATA:DAC VOLATILE, #', num2str(length(arbBytes)), arbBytes];
binblockBytes = typecast(DataVector, 'uint8');

ComAddr = 'COM18';

% COM port initialization
ComPort = serial(ComAddr);
ComPort.ByteOrder = 'littleEndian';
ComPort.BaudRate = 1200;
ComPort.DataBits = 8;
ComPort.Parity = 'none';
ComPort.StopBits = 2;
ComPort.FlowControl = 'none';
ComPort.Terminator = 'LF';
ComPort.OutputBufferSize = 10e6;
ComPort.Timeout = 3600;



fopen(ComPort);
fprintf(ComPort,['FORM:BORD SWAP']);
pause(0.5);
fwrite(ComPort, [header,binblockBytes], 'uint8');
% fprintf(ComPort, [header,binblockBytes]);
pause(0.5);
fprintf(ComPort,['*WAI']);
pause(0.5);
fprintf(ComPort,['FUNC:USER VOLATILE']);
pause(0.5);
fprintf(ComPort,['FUNC:SHAP USER']);
pause(0.5);
fclose(ComPort);

_________________
Silvan
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Merilna tehnika in senzorji Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Stran 1 od 1

 
Pojdi na:  
Ne, ne moreš dodajati novih tem v tem forumu
Ne, ne moreš odgovarjati na teme v tem forumu
Ne, ne moreš urejati svojih prispevkov v tem forumu
Ne, ne moreš brisati svojih prispevkov v tem forumu
Ne ne moreš glasovati v anketi v tem forumu
Ne, ne moreš pripeti datotek v tem forumu
Ne, ne moreš povleči datotek v tem forumu

Uptime: 497 dni


Powered by phpBB © 2001, 2005 phpBB Group