state <= IDLE;
idle_sig <= '0';
bus_tx_int <= '1';
+ baud_cnt <= 0;
elsif rising_edge(sys_clk) then
-- sync Zustand, uebernehmen der next-Signale
baud_cnt <= baud_cnt_next;
end process;
-- Ausgabe Logik
- rs232_tx_baud : process(sys_clk, sys_res_n, state, baud_cnt, cnt, tx_data, bus_tx_int,stop_bit)
+ rs232_tx_baud : process(sys_clk, sys_res_n, state, baud_cnt, cnt, tx_data, bus_tx_int,stop_bit, bd_rate)
begin
-- Solang idle_sig auf 0 ist wird im SEND Zustand verblieben
idle_sig_next <= '0';
when 9 =>
-- counter = 9 => Stopbit versenden
bus_tx_nxt <= '1';
- -- stop_bit 0 heißt 1 stop bit
+ -- stop_bit 0 heit 1 stop bit
if stop_bit = '0' then
cnt_next <= 0;
idle_sig_next <= '1';
end if;
when 10 =>
bus_tx_nxt <= '1';
- -- stop_bit 1 heißt 2 stop bits
+ -- stop_bit 1 heit 2 stop bits
if stop_bit = '1' then
cnt_next <= 0;
-- Signalisieren dass der Sendevorgang beendet ist