always @ (posedge bclk or negedge rst)
begin
cnt<=cnt+1'b1;
case (cnt)
23:begin
scl<=1'b0;
if (sda==1'b0) //ack
begin cnt<=24;led[0]<=1'b1;end//指示灯1亮
else
begin cnt<=22;end
end
24:begin en<=1'b1;end//sda输出
25:
当cnt=23的时候 需要等待sda的应答信号 在等待完成时候cnt<=24 那下一次bclk 的上升沿来时,cnt在case语句前加一了,为什么是执行的case(24)而不是case(25) |