\item Display $\Rightarrow$ History: die Breite f\"ur \emph{d\_zeile} muss
ebenfalls so breit wie \emph{p\_zeile} sein (zumindest vereinfacht das die
Implementierung)
+\item RS232: \emph{tx\_done} hinzugefuegt.
\end{itemize}
\end{document}
-- 1. parameter: testfallnummer
-- 2. parameter: STARTBIT (1 bit) - immer '0' | 8 DATENBITS | 1 STOPBIT - immer '1'
-- 3. parameter: byte das rauskommen soll
- exec_tc(1, b"0000011111", b"00001111");
- exec_tc(2, b"0101010101", b"10101010");
- exec_tc(3, b"0110011001", b"11001100");
- exec_tc(4, b"0001100111", b"00110011");
- exec_tc(5, b"0010101011", b"01010101");
- exec_tc(6, b"0100110111", b"10011011");
+ exec_tc(1, b"0000011111", b"11110000");
+ exec_tc(2, b"0101010101", b"01010101");
+ exec_tc(3, b"0110011001", b"00110011");
+ exec_tc(4, b"0001100111", b"11001100");
+ exec_tc(5, b"0010101011", b"10101010");
+ exec_tc(6, b"0100110111", b"11011001");
stop <= true;
wait;
-- 1. parameter: testfallnummer
-- 2. parameter: STARTBIT (1 bit) - immer '0' | 8 DATENBITS | 1 STOPBIT - immer '1'
- -- 3. parameter: byte das rauskommen soll
- exec_tc(1, b"0000011111", b"00001111");
- exec_tc(2, b"0101010101", b"10101010");
- exec_tc(3, b"0110011001", b"11001100");
- exec_tc(4, b"0001100111", b"00110011");
- exec_tc(5, b"0010101011", b"01010101");
- exec_tc(6, b"0100110111", b"10011011");
+ -- 3. parameter: byte das rauskommen soll (umgekehrte reihenfolge)
+ exec_tc(1, b"0000011111", b"11110000");
+ exec_tc(2, b"0101010101", b"01010101");
+ exec_tc(3, b"0110011001", b"00110011");
+ exec_tc(4, b"0001100111", b"11001100");
+ exec_tc(5, b"0010101011", b"10101010");
+ exec_tc(6, b"0100110111", b"11011001");
stop <= true;
wait;
-- starbit (= '0')? dann kommen daten
state_next <= DBITS;
bitcnt_next <= 0;
+ baudcnt_next <= 0;
else
-- sonst war das nix...
state_next <= IDLE;
baudcnt_next <= baudcnt_int + 1;
else
baudcnt_next <= 0;
- rx_data_next <= rx_data_int(6 downto 0) & rxd;
+ -- bitorder beachten
+ rx_data_next <= rxd & rx_data_int(7 downto 1);
if bitcnt_int = 7 then
state_next <= STOPBIT;