Post by GregorPost by Rafal MPost by Gregor??? 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 -
wlasnie to by wyjasnialo te bledy w transmisji
no nic pozostaje jedynie stworzenie timera 9600 w C++ ...
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
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) ...