Running four interval timers on STM32F2 and CAN in blocking mode
2012-05-29 15:05:29 GMT
Hi, The project that I'm working on requires the use of four posix interval timers, like those in OSTEST, running concurrently. The firmware will run as expected with three timers running concurrently; however, when I add the forth, each timer's signal handler will no longer run. I use one of the interval timers to allow enough time for each CAN message to be sent without flooding the CAN write routine. I can eliminate the need for the forth timer if I could use the blocking mode on CAN writes. This doesn't seem to work either as the program hangs in CAN write on the very first message. The CAN driver works in non-blocking mode and correctly returns a -EAGAIN on writes when the TX FIFO's are full. As a work-a-round I'm going to try putting the CAN driver in non-blocking mode and h
ave it retry each time a -EAGAIN error is received.