ShiftOUT Not Fast Enough - Is Parrallel Processing Possible ?
Archiver
Posts: 46,084
Hi
Have been using 16 x Max7219 ics Cascaded
Have been using ShiftOut to send a train of 16bit words x 16 to send
data to
every MAX7219 at once, but it is not fast enough, ie 60micro seconds
per
clock pulse x 16 x 16, which = about 15ms. Combine this with the
function
overhead the time to send all this data serially is to slow.
Code Example
'***********************************************
MaX_Data_n con 8 Pin P8
MaX_CLK con 7 Pin P7
MaX_Load con 6 Pin P6
Data_Word var Word(16)
ShiftOut, Max_Data_n, Max_CLK, [noparse][[/noparse]Data_Word(0),Data_Word(2), ...
Data_word(15)]
PulsOUT Max_Load,5
'***********************************************
I would like to acheive something like this
MaX_Data_7 con 15 Pin P15
MaX_Data_6 con 14 Pin P14
MaX_Data_5 con 13 Pin P13
MaX_Data_4 con 12 Pin P12
MaX_Data_3 con 11 Pin P11
MaX_Data_2 con 10 Pin P10
MaX_Data_1 con 9 Pin P9
MaX_Data_0 con 8 Pin P8
MaX_CLK con 7 Pin P7
MaX_Load con 6 Pin P6
Data_Word var Word(8)
ShiftOut, Max_Data_(0 - 7), Max_CLK, [noparse][[/noparse]Data_Word(0),Data_Word(2), ...
Data_word(7)]
PulsOUT Max_Load,5
'***********************************************
The result if this worked would be like 8 Shiftout statment working in
Parrallel
Each Data_Word would be seen on Pins 8 - 15 at the sametime.
I have considered using
OUTH = Byte x 16 statments one after the other to give parralel
output but I
think this involves a lot of Data_Word Maping.
Can you help or point me in the right direction or I'm I exspecting
the Stamp to do too much ?
Cheers Chris
Ps B2SX is also to slow
Have been using 16 x Max7219 ics Cascaded
Have been using ShiftOut to send a train of 16bit words x 16 to send
data to
every MAX7219 at once, but it is not fast enough, ie 60micro seconds
per
clock pulse x 16 x 16, which = about 15ms. Combine this with the
function
overhead the time to send all this data serially is to slow.
Code Example
'***********************************************
MaX_Data_n con 8 Pin P8
MaX_CLK con 7 Pin P7
MaX_Load con 6 Pin P6
Data_Word var Word(16)
ShiftOut, Max_Data_n, Max_CLK, [noparse][[/noparse]Data_Word(0),Data_Word(2), ...
Data_word(15)]
PulsOUT Max_Load,5
'***********************************************
I would like to acheive something like this
MaX_Data_7 con 15 Pin P15
MaX_Data_6 con 14 Pin P14
MaX_Data_5 con 13 Pin P13
MaX_Data_4 con 12 Pin P12
MaX_Data_3 con 11 Pin P11
MaX_Data_2 con 10 Pin P10
MaX_Data_1 con 9 Pin P9
MaX_Data_0 con 8 Pin P8
MaX_CLK con 7 Pin P7
MaX_Load con 6 Pin P6
Data_Word var Word(8)
ShiftOut, Max_Data_(0 - 7), Max_CLK, [noparse][[/noparse]Data_Word(0),Data_Word(2), ...
Data_word(7)]
PulsOUT Max_Load,5
'***********************************************
The result if this worked would be like 8 Shiftout statment working in
Parrallel
Each Data_Word would be seen on Pins 8 - 15 at the sametime.
I have considered using
OUTH = Byte x 16 statments one after the other to give parralel
output but I
think this involves a lot of Data_Word Maping.
Can you help or point me in the right direction or I'm I exspecting
the Stamp to do too much ?
Cheers Chris
Ps B2SX is also to slow