发送机部分如下:
`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
Verilog实现串口发送32位数据

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

被折叠的 条评论
为什么被折叠?



