Hi,
Lets say you have two PIC that are supposed to talk to each other over a serial line, you use SEROUT2 on one and SERIN2 on the other. Both PICs however have other things to do as well so if the sender would just spit out data whenever it feels to there's a big chance the receiver isn't listening and the data would be lost. Using flow control is a way around that problem.

The sender PIC will not send any data untill it sees its flowcontrol input going active and the receiver PIC won't set its flowcontrol output untill it's actually ready to receive.

So, when the receiver is ready to accept data it sets its flowcontrol output and waits for the data, if the sender isn't ready no data will be sent and the recveiver will timeout and continue. If the sender is ready to send data it'll look at its flowcontrol input to see if the receiver is ready, if it is it will send the data. If the sender does NOT see the flowcontrol signal then IT will timeout and continue.

/Henrik.