[問題] PS/2 Keyboard

看板Electronics作者 (Pongo)時間14年前 (2011/04/27 11:22), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
大家好 小弟想請問 我看網路上PS/2鍵盤默認是Set2 而鍵盤按鍵0(右邊的數字鍵)的MakeCode是8'h70 BreakCode是16'hF070 如果我按下按鍵 那我收到的資料是8'h70還是16'h0070 16'h7000呢? 那我的程式碼是這樣寫的 reg[15:0] Load_Data,Store_Data; case(PC) 4'b0000:begin PC<=(!S_in)?4'b0001:4'b0000;end //判斷是否為起始位元0,是的話再到下個State 4'b0001:begin Load_Data[0]<=S_in;PC<=4'b0010;end 4'b0010:begin Load_Data[1]<=S_in;PC<=4'b0011;end 4'b0011:begin Load_Data[2]<=S_in;PC<=4'b0100;end 4'b0100:begin Load_Data[3]<=S_in;PC<=4'b0101;end 4'b0101:begin Load_Data[4]<=S_in;PC<=4'b0110;end 4'b0110:begin Load_Data[5]<=S_in;PC<=4'b0111;end 4'b0111:begin Load_Data[6]<=S_in;PC<=4'b1000;end 4'b1000:begin Load_Data[7]<=S_in;PC<=4'b1001;end //逐步接收資料 4'b1001: begin if (Load_Data[0+:8]==8'hF0) begin Load_Data[8+:8]<=Load_Data[0+:8];PC<=4'b0000;end //如果接收到的是BreakCode的起始F0,將存取資料的reg左移8bits, 並到起始State等候下筆資料 else begin PC<=4'b1010;Store_Data<=Load_Data;end //不是的話才把資料丟進輸出,再到下個State把存資料的reg reset end 4'b1010:begin PC<=(S_in)?4'b0000:4'b1010;Load_Data<=16'h0000;end //判斷是否為終止位元1,並將reg reset -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.252.2.6
文章代碼(AID): #1Djum1Yy (Electronics)