I`ve been working with FreeRTOS now for some weeks.
I have 3 tasks
1) a simple "Blink LED Task" (LED on -> task delay -> led off -> task delay)
2) a task which polls a sensor (Mouse Sensor ADNS2610) (reads data -> wake up Com task -> self-suspend )
3) a Com Task which sends the sensor-data over the UART (sends data to PC -> wake up sensor task -> self-suspend )
If I use a long task delay (some seconds) in the com task instead of the self-suspend, everything works fine. But if I want to poll the sensor and transmit the data at "full speed" my system hangs after a while (seconds to 1 Minute).
What could be the Problem?
What could you recommend for reading the sensor and transmitting the data as fas as possible?
ATMEL ATMEGA32 with 16 MHz
Preemption = 1
Based on the "AVR_ATMEGA323_WinAVR"-Demo
Compiler avr-gcc 4.2.2