关于在quartus上使用EP4CE10F17C8的串口提取固定字节数据
开发说明
平台:quartus17.1
芯片:EP4CE10F17C8
开发语言:Verilog HDL
内容:使用串口提取固定顺序的字节数据
先上代码
1always @(posedge sys_clk or negedge sys_rst_n) begin
2 if (!sys_rst_n) begin
3 uart_data <= 8'd0;
4 uart_done <= 1'b0;
5 end
6
7 else begin
8 if(rx_cnt == 4'd9) begin
9
10 if(flage == 8'd13) begin //提取第13个字节
11 uart_data <= rxdata;
12 uart_done <= 1'b1;
13 end
14 if(flage == 8'd14) begin //提取第14个字节
15 uart_data <= rxdata;
16 uart_done <= 1'b1;
17 end
18 end
19 else begin
20 uart_data <= 8'd0;
21 uart_done <= 1'b0;
22 end
23 end
24 end
25 always @(posedge rx_flag) begin //从接收标志的上升沿开始
26 if(rx_flag)
27 flage <= flage + 1'b1;
28
29 if(flage==8'd32) //每32个字节清空一次
30 flage = 8'd0;
31
32end
需要注意的是第10行和第14行的if语句是属于第8行的if语句的。