串口发送32bit数据Verilog

Verilog实现串口发送32位数据
本文介绍了如何使用Verilog语言设计一个串口发送模块,该模块能够发送32位的数据。通过FPGA实现,详细阐述了发送机部分的代码结构和工作原理。

发送机部分如下:

`define NUMBER 41//32bit字符数据的长度(要加上起始位和停止位)
//`define NUMBER 11//8bit字符数据
//`define NUMBER 21//16bit字符数据
//`define NUMBER 31//24bit字符数据
`define NUMWIDTH 5//NUMBER的范围0~64
//`define NUMWIDTH 4//NUMBER的范围0~32
//`define NUMWIDTH 3//NUMBER的范围0~16
module my_uart_tx(
				clk,rst_n,
				rx_data,rx_int,rs232_tx,
				clk_bps,bps_start
			);

input clk;			// 40MHz
input rst_n;		//
input clk_bps;		// clk_bps_r
input rx_int;		//
output rs232_tx;	// RS232
output bps_start;	//

input[`WIDTH-1:0] rx_data;	//将接收的数据发送到PC上
reg[`WIDTH-1:0] tx_data;	//
reg[`NUMWIDTH:0] num;//需要改宽度
//---------------------------------------------------------
reg rx_int0,rx_int1,rx_int2;	//rx_int
wire neg_rx_int;	// rx_int
always @ (posedge clk or negedge rst_n) 
begin
	if(!rst_n) begin
			rx_int0 <= 1'b0;
			rx_int1 <= 1'b0;
			rx_int2 <= 1'b0;
		end
	else begin
			rx_int0 <= rx_int;
			rx_int1 <= rx_int0;
			rx_int2 <= rx_int1;
		end
end

assign ne
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值