I have a multiplexed 4 digit 7seg LED display direct driven by a 20X2 at 64MHz. It is flicker free apart from a single brief black out when updating with new values. The updating takes place via Serin at 9800 Baud from an 08M and the interrupt routine seems to cause the flicker.
Is it possible to eliminate the interrupt and instead use background receive. In pseudo code the main display loop would be :
Do
get digit 1 from scratchpad. Pulsout to display
get digit 2 from scratchpad. Pulsout to display
etc
Loop
With no need for any interrupts.
I have made some experiments with HSerSetUp with a 28X1
The problem is to get the incoming bytes (sets of 4) into the right positions on the scratchpad. If left to free run the bytes seem to fill the scratchpad in sequence (as expected) until the hserptr rolls over at 127 (unexpected).
Setting the hseptr to zero at the beginning of the loop only works if an udesirable large delay is introduced into the loop.
I estimate that at 9600 Baud each byte takes about 1ms to send. Does background receive just halt program operation until the 4 bytes are acquired or how does it work ?
Dennis
Is it possible to eliminate the interrupt and instead use background receive. In pseudo code the main display loop would be :
Do
get digit 1 from scratchpad. Pulsout to display
get digit 2 from scratchpad. Pulsout to display
etc
Loop
With no need for any interrupts.
I have made some experiments with HSerSetUp with a 28X1
The problem is to get the incoming bytes (sets of 4) into the right positions on the scratchpad. If left to free run the bytes seem to fill the scratchpad in sequence (as expected) until the hserptr rolls over at 127 (unexpected).
Setting the hseptr to zero at the beginning of the loop only works if an udesirable large delay is introduced into the loop.
I estimate that at 9600 Baud each byte takes about 1ms to send. Does background receive just halt program operation until the 4 bytes are acquired or how does it work ?
Dennis