Firmware game 2048 hoàn chỉnh cho kit STM32F429I-DISCO/STM32F429ZITx, màn hình ILI9341 tích hợp và joystick analog hai trục B103.
Xem KIT_SETUP_AND_RUN.md để biết cách nối dây, import dự án, build, nạp firmware và xử lý lỗi thường gặp.
- Mở STM32CubeIDE.
- Chọn File > Import > Existing Projects into Workspace.
- Chọn thư mục
STM32CubeIDEbên trong repository. - Build cấu hình Debug.
- Nối kit qua cổng USB ST-LINK rồi chọn Run hoặc Debug.
- Thả joystick ở vị trí giữa trong khi splash
2048hiển thị để firmware tự hiệu chuẩn.
File firmware sau khi build nằm tại STM32CubeIDE/Debug/2048.elf và không
được lưu trong Git.
Không cấp 5 V cho joystick khi VRx/VRy nối trực tiếp với ADC của STM32. Hãy nối chân có nhãn
+5V/VCCcủa module vào nguồn3 Vhoặc3.3 Vcủa kit.
| Chân B103 | Chân STM32F429 | Chức năng |
|---|---|---|
| GND | GND | Mass chung |
| +5V/VCC | 3 V hoặc 3.3 V | Nguồn an toàn cho module |
| VRx | PA5 | ADC1 channel 5 |
| VRy | PC3 | ADC1 channel 13 |
| SW | PE6 | Nút active-low với internal pull-up |
Nếu hướng vật lý bị đảo, sửa JOY_SWAP_XY, JOY_INVERT_X hoặc
JOY_INVERT_Y ở đầu Core/Src/joystick.c, sau đó build lại.
- Đẩy joystick để di chuyển; giữ một hướng để tự lặp.
- Nhấn ngắn khi đang chơi để undo nước đi hợp lệ gần nhất.
- Giữ nút 0,8 giây để mở xác nhận chơi lại.
- Nhấn ngắn để xác nhận restart, tiếp tục sau khi thắng hoặc chơi lại sau game over.
- Di chuyển joystick để hủy màn hình xác nhận restart.
Best score được lưu trong flash sector 23 và vẫn còn sau khi mất nguồn. Việc ghi được trì hoãn năm giây hoặc ép ghi trước restart/game-over để giảm hao mòn flash. LCD sử dụng hai framebuffer ARGB8888 trong SDRAM ngoài và đổi buffer theo VBlank để giảm xé hình.
Chạy từ thư mục gốc repository:
gcc -std=c11 -Wall -Wextra -Werror -ICore/Inc \
Core/Src/game2048.c tests/test_game2048.c \
-o /tmp/test_game2048
/tmp/test_game2048- Dũng — game engine và application controller
- Sơn — cấu hình STM32, joystick, flash và công cụ build/nạp
- Thông — LCD, animation và tài liệu
Code do nhóm viết được phát hành theo giấy phép MIT. Các file của STMicroelectronics giữ nguyên giấy phép được ghi trong từng file hoặc thư mục.