FT245BM <- RS232 Transmisja asynchroniczna

Witam. W jaki sposób najprosciej odczytac dane z RS232 przez FT245BM? Najpierw ustawiam

FT_SetBaudRate(hUSB, FT_BAUD_19200);

a potem

FT_Read(hUSB, &b, 1, &r);

lecz odczytywanie jakdyby nie odbywa sie o staly odstep czasu i powstaja bledy...tzn transmisja idzie po 9600 ja probuje to synchronizowac przez wieksza liczbe odczytow tzn 19200

Pozdrawiam, Rafał

Reply to
Rafal M
Loading thread data ...

Rafal M napisal:

??? FT245 ma interfejs rownolegly i bez mikrokontrolera niebardzo nadaje sie do odbierania transmisji rs232 (moze miales na musli FT232?). A co do szybkosci - w dokumentacji pisza ze proby ustawiania baudrate sa ignorowane - przeplyw danych kontroluje sie liniami R/W (+ewentualna softwarowa kontrola czasu buforowania danych). GRG

Reply to
Gregor

wlasnie to by wyjasnialo te bledy w transmisji no nic pozostaje jedynie stworzenie timera 9600 w C++ ...

Reply to
Rafal M

nie, mialem na mysli FT245BM :) wiem ze sie 232 lepiej nadaje ale u siebie mam 245

Reply to
Rafal M

Życzę powodzenia gdy w systemie Windows wygenerujesz cokolwiek równomiernie z jitterem max 10us, chyba trzeba będzie sięgnąć do warstwy sterowników i DDK. Ale to i tak na nic, bo transmisje w USB chodzą nie częściej niż co 1 ms i przez to w trybie bit-bang (bo chyba taki chciałeś wykorzystać) wyciągniesz conajwyżej 1000 bps.

Idź do sklepu i kup kostkę FT232BM.

Reply to
Adam Dybkowski

faktycznie gdy probuje uzywac funkcji FT_GetBitMode(hUSB, &b); w bit-bang idzie bardzo wolno, ale pokazalo sie malutkie swiatelku w tunelu, po prostu jak ustawie

DWORD baud = FT_BAUD_19200; FT_SetBaudRate(hUSB, baud);

otrzymuje wmiare poprawne odpowiedz z czytnika UM-005:

10000000 11010000 10000000

na oko 3 z 4 sa poprawne, jednak juz z bajtami ID Unique jest gorzej, polowa jest uszkodzone, tylko wlasnie sie zastanawiam, skad te bledy Robie to tak ustawiam, bitrate 8 razy 9600 a potem odczytuje kazdy 1 bit przez 8 odczytow usredniam i synchronizuje pocztkiem bitu startu, jednak nie wiem zupelnie skad te bledy .... a jeszcze zrobilem cos takiego odsunalem transponder i zwolnilem znacznie czestosc wywolania FT_Read no i sie okazalo ze cala transmisja (11 bajtow) siedzi w buforze (zadnego zbacza zapisujacego nie bylo, podlaczylem tylko 1 linie) ...

Reply to
Rafal M

Rafal M napisal:

Zamierzasz "emulowac" rs232 na ktoryms z wyjsc ft245bm przez wysylanie odpowiednich danych z PC - z timingami dla predkosci 9600 baud? Jesli tak - mozesz sobie dac spokoj - nie zadziala - w USB dane sa wysylane w paczkach co pewien czas - o ile pamietam w trybie ktory jest obslugiwany przez ft245bm co jedna ms. Nie wiem jak sie ten chip zachowuje w trybie bit-bang ale strzelam ze jesli sprobujesz wyslac do niego wiecej niz 1kB/s uszyskasz na wyjsciach serie krotkich impulsow co 1ms - bez szans na poprawna trnsmisje rs232. GRG

>
Reply to
Gregor

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.