.NET CF a sériový port
Mám hotový program pro WM5 a .NET CF, který čte RFID čipy čtečkou umístěnou v CF slotu. Program se při komunikaci přes sériový port chová jinak, je-li spuštěn z Visual Studia 2005 s debuggerem (v tomto případě tak, jak bych si představoval) než při normálním spuštění z PDA. Je možné, že by debugger používal nějakou jinou knihovnu?
Se sériovým portem v .NET CF 2.0 jsou celkem problémy (používáte ten originální z .NET, že?) - dost lidí mi při vývoji GPSAuto hlásilo, že jim to nefunguje, a nacházel jsem na webu spoustu diskuzí o konkrétních zařízeních, kde to blblo. Když jsem potom přecházel na CF 1.0 (z důvodu lepší dostupnosti na zařízeních), tak jsem využil kód v OpenNETCF knihovně (OpenNETCF.IO.Serial.Port), a ten šlape o poznání lépe, a člověk si ho může snadno zkontrolovat (že tam není nic jiného než API volání CreateFile s číslem portu atd.)
Používám sériový port z .NET CF 2. OpenNet navíc v poslední verzi ani svůk sériový port nepodporuje, protože údajně řešení v .NET stačí. Já ani tak nemám problémy se sériovým portem (ono to chodí) jako mě spíš překvapilo rozdílné chování programu při debugu a bez něj.
OK, já jen upozorňuju na to, že problémy mohou být (testovali mi to desítky uživatelů a četl jsem o tom i na MSDN blogech), a právě proto jsem si vypreparoval ten OpenNETCF kód a používám ho. Druhá věc je debugování (přes deploy na PDA nebo v emulátoru? i když v emulátoru by asi byl problém namapovat ten hw port) a pak spouštění samostatně v PDA, tam nevím, v čem by mohl být problém.