|
module rx_flame(
input clk,
input rdsig, //串口接收数据有效信号
input [7:0] rxdata, //串口接收数据
output [3:0] ledctr
);
reg[3:0] sync_state;
reg[3:0] ledctr;
//--------------internal signal declarration----------
parameter IDLE=4'h0,
SYNC_HEAD=4'h1,
LAOD_DATA_0=4'h2,
LAOD_DATA_1=4'h3,
SYNC_END=4'h4;
always@(posedge clk)
case (sync_state)
IDLE: ledctr <= 4'b1111;
SYNC_HEAD: ledctr <= 4'b1110;
LAOD_DATA_0: ledctr <=4'b1101;
default: ;
endcase
always@(posedge clk)
case(sync_state)
IDLE: if(rxdata == 8'h55)
sync_state <= SYNC_HEAD;
SYNC_HEAD: ;
default:;
endcase
endmodule
///////////////////////
串口rxdata收到 0x55的时候 sync_state <= SYNC_HEAD; 可是我串口什么数据都没发, 执行sync_state <= SYNC_HEAD了
|
阿莫论坛20周年了!感谢大家的支持与爱护!!
月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!
|