Tak sie bawie tymi ukladami i sie zastanawiam , czy udalo sie innym osiagnac predkosc transferu przez VCP wieksza niz 1200B/sek . Chcialbym min 80kB/sek , pytanie czy musze sie przedzierac prez D2XX_Programmer's_Guide(FT_000071).pdf Nie ma znaczenia czy dane leca znak po znaku czy paczka z bufora , predkosc nigdy nie przekroczyla 1200znakow/sek.
FT232R bez problemu bangla na 9600 i 19200 jako VCP, wiecej nie probowalem, bo nie mialem potrzeby, ale zdaje sie, ze powinien chodzic do 1 MBodzia. Cos masz nie tak albo z kompem, albo z urzadzeniem. Jak to sie komunikuje z FT, pelny RS232, czy tylko RX/Tx?
W sumie nie wiadomo, czy on pyta o 'baudrate', czy o rzeczywistą prędkość transmisji... wiadomo, że jak będzie wysyłać bajt po bajcie, to nie wyciągnie pełnej prędkości. Gorzej, że to się dzieje także przy wysyłaniu paczek ;)... No ale faktem jest, że FT232 spokojnie powinien wyciągać pełne prędkości RSowe ;)..
Uzywam ft245 ->8bitow-> Atmega16 Te moje 1200znakow / char/byte inaczej 9600 bitow bez zaglebiania sie :)wysylam z pc-towego programu , wzoruje sie na gotowych ksiazkowych przykladach obslugi .
Wykluczam kontroler odbierajacy dane , komputer ten sam wychodzi ze waskie gardlo to pc-owy soft wysylajacy dane .
Przez ft245 / sterownik DXX i aplikacje ktora posiadam chodzi prawidlowo tylko ze ja musze napisac samodzielnie wlasny program wysylajacy . Bede walczyl :) dzieki .
A wysylasz z PCta caly rekord danych jednym poleceniem Write, zeby PC wyslal to jednym ciagiem przez USB (czyli pakiet 64B i kontynuacja), czy uzywasz wiele Write z niewielkimi ilosciami danych? W drugim przypadku mozesz miec tylko 64B/ms.
Sprecyzuje , mam program na pc ktory wysyla plik graficzny przez DXX do do ft245 a dalej do kontrolera , to jest program na ktorym sie wzoruje , wszystko dziala , predkosc przesylu danych jest odpowiednia .
I teraz chcialbym napisac wlasny program , wiec cwicze w builderze , wybralem droge przez VCP . Nie ukrywam to jest moj pierwszy program , nie wszystko rozumiem , obsluge portu com mam z ksiazki , obsluga znak po znaku jest realizowana przez funkcje pobierajaca jeden znak a obsluga wysylania paczk ibitow przez flush czyli po mojemu wyslanie bufora do portu .Chcialbym sie dowiedziec czy dalej warto kombinowac przez VCP , potrzebuje max 80kB czyli
640kb/sek .
W bibliotece DXX znalazlem #define FT_BAUD_921600 , przez VCP jest wolniej wiec o nim moge chyba zapomniec . Nie wiem skad wziela sie informacja rzedu 4MB przez DXX , tak sie chyba nie da .
80kB/s * 1024 * 10bit/bajt = minimum 819200 bps Na VCP udało mi się bezproblemowo wyciągnąć okrągłe 1000000bps - transmisja bez kontroli przepływu. Wklej kawałek kodu - może samo wysyłanie jest źle zrealizowane?
No ale chyba sterownik bajty wysłane w jednym "okienku" 1ms zbierze do kupy i pośle "paczką", prawda?? W sumie - nieważne. Póki nie ma kodu, to to jest tylko gdybanie...
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here.
All logos and trade names are the property of their respective owners.