(二)verilog uart tx 串口发送一个字节数据

该Verilog代码实现了UART串口发送模块,根据给定的时钟频率和波特率,逐位发送一个8位数据。模块包含状态机,用于控制开始位、数据位、停止位的发送,并且在发送完成后准备好接收新的数据。
摘要由CSDN通过智能技术生成

`timescale 1ns / 1ps
//
// Company: 
// Engineer: 
// 
// Create Date:    18:57:31 06/18/2019 
// Design Name: 
// Module Name:    uart_tx 
// Project Name: 
// Target Devices: 
// Tool versions: 
// Description: 
//
// Dependencies: 
//
// Revision: 
// Revision 0.01 - File Created
// Additional Comments: 
//
//
module uart_tx
#(
    parameter CLK_FRE = 50,
    parameter BAUD_RATE = 115200
)
(
    input clk,
    input rst_n,
    input[7:0] tx_data,
    input tx_data_valid,
    output reg tx_data_ready,
    output tx_pin
    );
     
localparam CYCLE = CLK_FRE*1000000/BAUD_RATE;
localparam S_IDLE         =1;
localparam S_START        =2;
localparam S_SEND_BYTE    =3;
localparam S_STOP         =4;

reg[2:0]  state;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值