通过串口调试助手,使用串口发送电脑指令到fpga开发板,来控制led灯的工作状态。
通过三个模块来实现 串口控制led闪烁:
1.uart的数据接收模块:将用户数据通过串口调试助手发到fpga
2.串口命令模块:将uart接受模块的数据通过该模块,通过一个自定义协议来发送led灯所需的控制信号
3.led工作状态的控制模块:闪烁时间和闪烁状态由用户指定(Time,Ctrl[on/off])
自定义协议如下:
类似于起始位和停止位的判定,通过数据的移位和比较,最后实现中间命令模块的编写,从而实现串口控制led灯(uart_rx模块和led_ctrl_time模块见前面所写)
PS:代码中Time的发送,是先发的高位再发的低位。
uart_cmd控制模块编写如下:
`timescale 1ns / 1ps
module uart_cmd(
clk ,
rst ,
rx_data ,
rx_done ,
Time ,
ctrl
);
input clk ;
input rst ;
input[7:0] rx_data ;
input