Alpha
77dd102675
feat(board): 板载 USB HID 口接 PS/2 鼠标,与板载按键并存
Nexys4DDR 的 USB HOST 口由板上芯片把 USB 键鼠转成 PS/2 信号(官方母版
Nexys4DDR_Master.xdc 标明 ps2_clk = F4、ps2_data = B2),所以不用写 USB 协议栈。
- cpu21_board_top.v:
* USE_PS2_MOUSE 默认打开;原来是 if/else 二选一(选鼠标就没按键),现在
cpu21_pointer 与 cpu21_ps2_mouse 同时例化,两路事件在顶层合并成 ev_valid/
ev_dx/ev_dy/ev_btn(同拍优先 PS/2),板载按键一个不删
* 新增 DEBUG_PS2_RX_LED(默认 1):把 PS/2 收到的字节数显示到 LED[15:3]
(LED[2:0] 仍是中断指示)。没有调试器时靠它判断 PS/2 到底有没有数据:
鼠标一动数字就跳 = 通了;一直是 0 = 根本没收到
- cpu21_board_top.xdc:ps2_clk/ps2_data 从 Pmod JA(C17/D18)改到板载 USB HID
(F4/B2),并在注释里留了改回 Pmod 的方法
软件侧不用改:鼠标事件与按键事件格式相同,且 PS/2 的 dx/dy 天然满足
"8 个计数 = 一格"(saolei.c 里就是 acc_x += dx; while (acc_x >= 8) 移动一格)。
额外好处:鼠标右键 = 插旗(handle_event 本来就支持)。
2026-09-23 21:50:18 +08:00
..
2026-09-19 16:10:19 +08:00
2026-09-23 21:50:18 +08:00
2026-09-23 21:21:32 +08:00
2026-09-19 19:54:56 +08:00
2026-09-19 19:50:37 +08:00