Hi,
Can I mix convetional programing (using interrupts...etc) with RTOS processes?
Yes, you can. In fact that's how the systems with OS works. Most of the time your tasks are blocked, waiting for something to happen. Like timer expire, button press or serial rx/tx etc.. And when it happens OS wakes/unblocks the corresponding task which takes the necessary action and returns to blocked state.
That's how you can determine the loading of your processor. Just measure how much time it spends in idle task within OS
Only requirement in case of interrupts is that you must inform OS about it. OS requires this information for handling interrupt nesting and context switching(in case an interrupt makes higher priority task ready). Since in RTOSs, Application handles the interrupts instead of OS, it's the duty of application to inform OS about it
I am trying to receive data through UART and was hoping to use interrupt driven events to receive the data compared to running a process at determined intervals (RTOS) for fetching the data.
There is no need to wake the task on each received byte or some predetermined interval. All you have to do is to agree upon the FRAME which will be used to both transmit and receive. After that your interrupt will continue receiving data until complete frame has been received and wake the task only then. That way none of processor time is wasted and task executes only when required.
Note that you require BYTE FIFO queues and many RTOSs does not provide them. Instead they provide message queues which are usually used for intertask comm. You can use them, but that will waste the RAM as message queue element is usually (void*) pointer. In that case you may require to write down your own BYTE queue function using other OS services.
hope that helps
sam_des