We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
I'm using a str7 with Realview MDK.
I need a function(or interrupt) to be triggered by software and to act like other hardware interrupt which can be pended while other interrupt is running.
According to the result of an operation in an interrupt rutine such as UART1 interrupt, the function will be executed or not after completing the UART11 interrupt. This means the function acts like an hareware interrupt which has lower priority than UART1 interrupt.
If I use SWI instruction, UART1 interrupt is interrupted by SWI hander right after SWI. I don't want this situation because UART1 interrupt is very time critical.
Are there any good way to do? I beleive the auther of http://www.keil.com/forum/docs/thread10206.asp is in same problem with me.
Thanks.
That is a reason for RTOS. You have a high-priority task waiting for any received data. The task is sleeping. The UART interrupt inserts data in receive queue and flags the RTOS that any reader task may be woken. At the end of the interrupt, the RTOS can wake the high-priority task and let it consume received data.