C# FTDI - vytvorenie eventu

C,C++,C#

Moderátori: psichac, Moderátori

Používateľov profilový obrázok
Radus
Zaslúžilý člen
Zaslúžilý člen
Príspevky: 1497
Dátum registrácie: 27 Okt 2009, 00:00
Bydlisko: Prešov
Vek: 42

C# FTDI - vytvorenie eventu

Príspevok od používateľa Radus » 23 Sep 2019, 09:33

Zdravim vospolok.
Riešim momentálne pripojenie AD prevodníka pomocou SPI k PC pomocou FT2232. Kódovú časť som si prekopal aj prelúskal viac menej všetky príručky k MPSSE. Potrebujem vašak vytvoriť prerušenie, ktoré bude reagovať na výstup z prevodníka - DR(data ready) a k tomu ako nato som sa nikde nedočítal. Voľné vsupy na FT2232 mám, viem ich nastaviť ako vstup a čítať z nich hodnotu, ale robiť to dookola v slučke sa mi zdá ako prasačina, chcel by som to mať podobne ako na MCU cez preurušene.
Napríklad v tomto dokumente https://www.google.com/url?sa=t&rct=j&q ... 6dT5BypuvO som na strane 29 narazil na funkciu FT_SetEventNotification. Ako som pochopil, malo by to fungovať tak, že po spustení tejto funkcie sa program zastaví a čaká kedy dôjde k danému eventu (sú tam až 3 :)). Vyskúšal som vytvoriť thread a spustil v ňom danú funkciu, ale thread sa mi ukončí bez nejakého čakania...
Neriešil to náhodou už niekto? Alebo nejaké iné nápady?
Ďakujem.
0

pocitujlasku
Ultimate člen
Ultimate člen
Príspevky: 6200
Dátum registrácie: 20 Júl 2007, 00:00
Vek: 41

Re: C# FTDI - vytvorenie eventu

Príspevok od používateľa pocitujlasku » 23 Sep 2019, 09:55

aj prerusenie funguje na nekonecnej smycke a kontrole vstupu.
Inac sa to ani neda, len ta nekonecna smycka moze byt obycajny while, alebo aj hw implementovane, princip je stale rovnaky.
Aj v tom pripade je tam nekonecne cakanie.
daj to normalne cez while v smycke v samostatnom threade, len na koniec daj thread.sleep(1), alebo 10 - vtedy to nevyhuli procak. ja mam tak riesenu komunikaciu cez tcp a mam niekolko nekonecnych smyciek a threadov a v pohode.
0
Jedním z největších projevů nedůvěry v Boha je hromosvod na kostele.

peterple
Ultimate člen
Ultimate člen
Príspevky: 2328
Dátum registrácie: 25 Jún 2013, 21:06
Bydlisko: Krajné
Vek: 57
Kontaktovať používateľa:

Re: C# FTDI - vytvorenie eventu

Príspevok od používateľa peterple » 23 Sep 2019, 11:17

V prvom rade musím povedať že som to neriešil a ani nie som moc doma vo WIN api.
Radus napísal:Ako som pochopil, malo by to fungovať tak, že po spustení tejto funkcie sa program zastaví a čaká kedy dôjde k danému eventu (sú tam až 3 ).
Takto som ale popis tej funkcie nepochopil. Funkcia iba nastaví podmienky pre notifikáciu. Končí okamžite s info o tom či sa to podarilo alebo nie. Blokovanie si musíš urobiť sám.
Na stránke 36 (realnej 37) je na to príklad
http://www.musidora.ru/LIGHT/FTDI/D2XXPG31.pdf#page=37

Kód: Vybrať všetko

WaitForSingleObject(hEvent,INFINITE);
To čo si asi chcel je
FT_W32_WaitCommEvent v spolupráci s FT_W32_SetCommMask

http://www.musidora.ru/LIGHT/FTDI/D2XXPG31.pdf#page=92
Tu je ukazané ako si nastaviť monitorovanie zmeny CTS a DSR.
0
Ukáž múdremu chybu a on sa ti poďakuje. Ukáž chybu hlupákovi a on sa urazí.

Používateľov profilový obrázok
Radus
Zaslúžilý člen
Zaslúžilý člen
Príspevky: 1497
Dátum registrácie: 27 Okt 2009, 00:00
Bydlisko: Prešov
Vek: 42

Re: C# FTDI - vytvorenie eventu

Príspevok od používateľa Radus » 23 Sep 2019, 12:14

Ďakujem, Peterple skúsim si to prejsť, budeš mať pravdepodobne pravdu. Ak to nepôjde, spravím to tak ako radil pocitujlasku :)
0

Napísať odpoveď