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.
C# FTDI - vytvorenie eventu
Moderátori: psichac, Moderátori
-
- Ultimate člen
- Príspevky: 6224
- Dátum registrácie: 20 Júl 2007, 00:00
- Vek: 41
Re: C# FTDI - vytvorenie eventu
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.
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.
-
- 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
V prvom rade musím povedať že som to neriešil a ani nie som moc doma vo WIN api.
Na stránke 36 (realnej 37) je na to príklad
http://www.musidora.ru/LIGHT/FTDI/D2XXPG31.pdf#page=37
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.
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.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 ).
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);
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í.
Re: C# FTDI - vytvorenie eventu
Ďakujem, Peterple skúsim si to prejsť, budeš mať pravdepodobne pravdu. Ak to nepôjde, spravím to tak ako radil pocitujlasku
0