uart_rx: bitorder fail
[hwmod.git] / src / uart_rx.vhd
index cee42a30c341d2bdce30d1a3f02d2fd18be5ebd0..0afc7d4d89361c0acaaad6e4ba10b5d27987926d 100644 (file)
@@ -81,6 +81,7 @@ begin
                                                -- starbit (= '0')? dann kommen daten
                                                state_next <= DBITS;
                                                bitcnt_next <= 0;
+                                               baudcnt_next <= 0;
                                        else
                                                -- sonst war das nix...
                                                state_next <= IDLE;
@@ -91,7 +92,8 @@ begin
                                        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;