Page 568 - 3-2
P. 568

reg tx_empty;
            // 송신 완료
            reg [3:0]tx_cnt;
             // 전송하는 데이터 비트수를 세는 변수
            reg tx_out;
            // 송신출력


            // 수신 변수
            reg [7:0]       rx_data;
            // 수신데이터 저장하는 레지스터
            reg [7:0] rx_data_buffer;
            //rxd 에서 수신된 데이터를 임시로 저장하기 위한 레지스터
            reg [3:0]       rx_bit_cnt;
            // 수신데이터 비트 카운터 변수
            reg [15:0]      rx_clk_cnt;
            //  수신시 통신 속도를 카운터하기 위한 변수
            reg [15:0] rx_start_cnt;
            //start bit check 를 위한 카운터 변수
            reg state_rx;
            // state_rx = 0  휴지상태 , state_rx=1   수신 상태


            reg [1:0]tx_flag;


            reg[31:0] time_cnt;
            reg clk_s;
            reg [1:0]flag;


            wire [3:0]num;
            wire [3:0]t_num;
            wire [7:0]in; // 최종 보내는 값


            parameter baud_rate = 16'd5208; //9600bps
            parameter CLOCKS_WAIT_FOR_RECEIVE = 5208 / 2; //start bit       인지 카운트


            always @ (posedge clk,negedge reset) //  통신 속도 맞추기
            begin
                    if(!reset)
                    begin
                            clk_count<=0;
                            clk_uart<=0;
                    end


                    else
                    begin
                            if(clk_count == baud_rate)


                                                         - 568 -
   563   564   565   566   567   568   569   570   571   572   573