Hallo zusammen
Ich habe einen std_logic_vector mit 96Bytes (also 96 x 8Bits)
Nun möchte ich diesen Byte für Byte per SPI hinausschieben.
Dazu habe ich folgendes Stück VHDL geschrieben:
1 | if(SPI_BUSY_FLAG = '0') then
|
2 | if(intSentDataByte > 0) then
|
3 | SPI_DATA_IN_L <= configRegister((8 * intSentDataByte-1) downto ((8 * intSentDataByte)-1));
|
4 | intSentDataByte <= intSentDataByte - 1;
|
5 | SPI_ENABLE <= '1';
|
6 | else
|
7 | intBusyState <= fsmSendConfig;
|
8 | end if;
|
9 | else
|
10 | SPI_ENABLE <= '0';
|
11 | end if;
|
configRegister ist mein 96Byte grosses register.
intSentDataByte ist mein Counter mit der anzahl gesendeter Bytes.
Leider bekomme ich die Meldung:
1 | Direction of the discrete range must be the same as that of the prefix of the slice name.
|
Ist mein Vorhaben überhaupt möglich?
Ein Schieben von configRegister würde ich nur ungern machen, da ich
dieses mehrmals benötige und dann immer wieder Initialisieren müsste.
Danke schonmal.