串口问题
各位麻烦问一下,本人才开始学习,麻烦各位了。最近在学习串口,想用串口接收到的数据来控制8个LED,但是在控制的时候遇到问题。下面是程序`timescale 1ns / 1ps
//////////////////////////////////////////////////////////////////////////////////
// Company:
// Engineer:
//
// Create Date: 21:42:16 08/28/2016
// Design Name:
// Module Name: uart_rx_tx
// Project Name:
// Target Devices:
// Tool versions:
// Description:
//
// Dependencies:
//
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
//
//////////////////////////////////////////////////////////////////////////////////
module uart_rx_tx(
input clk_i,
input reset,
input uart_rx_data,
output uart_tx_data,
output led
);
(*keep = "true"*)
wire uart_data_o;
(*keep = "true"*)
wire uart_rx_done;
//wire led; //在整合过程中 输入输出不需要重新定义
// Instantiate the module
uart uart_u(
.clk(clk_i),
.uart_rx_i(uart_rx_data),
.uart_data_o(uart_data_o),
.rx_done(uart_rx_done),
.uart_bps_sam() //虽然这里没有用到 但是也必须和底层相匹配
);
// // Instantiate the module
uart_tx uart_tx_u (
.clk(clk_i),
.uart_tx_data_o(uart_data_o),
.uart_tx_en(uart_rx_done),
.uart_tx_o(uart_tx_data)
);
// Instantiate the module
uart_led uart_led_u (
.clk(clk_i),
.led(led),
.reset(reset),
.led_en(uart_rx_done),
.uart_rx_data_i(uart_data_o)
);
endmodule
这是顶层的程序
串口接收的程序是参考米联的。
下面是我的控制程序:
module uart_led(
inputclk,
inputreset,
output reg led = 8'b11111111,
input uart_rx_data_i,
input led_en
);
reg led_cnv;
always @ (posedge clk ) begin
if(led_en)
led_cnv <= uart_rx_data_i;
else
led_cnv <= led_cnv;
end
always @ (posedge clk ) begin
case (led_cnv)
8'b11111000:
led <= ~led;
8'b11111001:
led <= ~led;
8'b11111010:
led <= ~led;
8'b11111011:
led <= ~led;
8'b11111100:
led <= ~led;
8'b11111101:
led <= ~led;
8'b11111110:
led <= ~led;
8'b11111111:
led <= ~led;
default:
led <=8'b10101010;
endcase
end
endmodule
问题是我只要下完程序运行的就是default里面的数据,我在发送也没有用了,求大神帮忙,谢谢!!
应该是串口数据接收有问题把,你用chipscope观察下 接收到的数据是否正确
admin 发表于 2016-9-1 08:16
应该是串口数据接收有问题把,你用chipscope观察下 接收到的数据是否正确
我接受完成又发出去了,通过串口助手可以看到发送的数据。我在看看,谢谢
clk_i频率有多高?在每次时钟上升沿翻转LED,太快了,不说人眼不能分辨,LED灯可能都反应不过来。话说人眼可以看出来的闪烁应该低于20几赫兹,高了就看不出来闪了,以前旧的放电影的机器就是几十赫兹的刷新率。
页:
[1]