I'm writing application for Windows CE touch panel (Weintek 607i). Panel has Windows CE 5.00 + NET CF 2.0. I'm writing it using VS 2008 Pro in C#.
I pool in second thread Modbus frames from controller connected to panel through RS422. Panel has LED indicating communication.
When my program is running on Windows CE (on PC is OK) I have very confusing behavior: during touching the panel (pressing any control, changing any tabcontrol, scrolling controls etc.) communication led stops flashing (looks like communication stops), and I got timeouts and crc errors - (I’m loosing some bytes) in my second communication thread).
When I’m not touching anything led is flashing and all controls (text fields) are refreshed perfectly.
I’ve tried everything. Changing priority of MainForm class and my communication thread (Thread.CurrentThread.Priority). I have tried with Thread.Sleep in different places of my app. I’ve tried also all possibilities of receving serial data: SerialDataReceivedEventHandler, separate thread, and in Main Forms thread.
Is that normal?
I think I can't change this by tuning my application. Maybe I should change system configuration (using registy settings)?
Does anyone has experience with such case?