Yea, I will be writing my own software
UART.
Good luck! I always worry about jitter with a software
UART. 4 microseconds per
bit is awfully quick, but it can be done.
From my understanding, the inter-frame time can be up to 1 second long?
Theoretically... if your packet is only one frame long. The inter-packet time, from the starting
mark of one to the starting
mark of the next, is also one second max.
A one-frame packet makes no sense, because the first frame of the packet is the packet type... it doesn't actually control anything, just says what the rest of the packet is meant to control. If you have a full 513-frame packet, your inter-frame time is down to under 2 milliseconds max. If your RS-232 link is running at 9600 bps or faster, you should be okay... depends on your request/response
protocol - I'd recommend a hardware handshake: no extra bytes to handle and decode.
It's important to
beat the 1 second per packet time for a couple reasons, the most important of which is the way a
dimmer behaves on loss of data. There's no definition in the DMX-512 spec. Some will hold the last received value forever, some go to 50% on all channels, some go to
blackout, some go to max and some (if you're really lucky) allow you to program how they'll behave. Oh, and some of the cheap DJ-class
shift into sound-activated
chase mode - that might be interesting in the middle of Henry V

Beyond that, even if your dimmers will hold their last setting forever, the faster you refresh the
DMX data, the smoother your fades will be. Imagine a 5-second
fade -done in five discrete and highly visible steps.
If the PIC has a hardware
UART that you're planning to use for the RS-232 link to the PC, you might want to see if it can be set up with separate baud-rates for transmit and receive. If so, maybe you can use the receiver and a hardware handshake for the PC and the transmitter for the
DMX output to the 75176.
John