项目简介
本项目围绕AVR单片机展开,属于操作系统相关项目。实现了自定义的I2C驱动,用于Arduino与通用I2C设备的主从通信,包含基础I2C通信原语和基于中断的I2C驱动,支持多从机通信。同时实现了LCD设备驱动,并开发了类似Pacman的视频游戏,以此展示串口通信和I2C驱动的工作方式。
项目的主要特性和功能
- I2C驱动实现:有基础版和中断版I2C驱动,基础版实现I2C通信标准原语,中断版支持多从机通信。
- LCD设备驱动:可管理不同尺寸LCD设备(如16x2和20x4),支持屏幕移动和自定义字符创建。
- 视频游戏:开发受Pacman启发的视频游戏,游戏核心在Arduino,用户通过PC键盘输入,二者通过串口通信。
- 主从通信模式:支持一对一和一对多的主从通信模式。
安装使用步骤
编译项目
- 编译
pc_server
和arduino client
。 - 进入
avr/arduino_client
目录,执行make
和make arduino_client.hex
。 - 进入
../../pc_server
目录,执行make
。
运行项目
在pc_server
目录下执行./i2c_videogame 0
(若设备在ttyACMO
,使用0;若在ttyACM1
,使用1)。
游戏操作
- 启动后,PC等待Arduino准备好,同步后“start”将显示在两个屏幕上。
- 通过键盘输入玩家数据(姓名和期望难度)。
- Arduino独立运行游戏,即使不按键盘,游戏也会继续。每次刷新时,它会向PC发送“生或死”消息以告知游戏状态。
- 玩家死亡后,分数将显示在两个屏幕上,Arduino等待新游戏开始。
注意:需确保安装了AVR单片机开发环境,如AVR - GCC编译器、AVR Studio等。在实际使用中,需根据具体硬件平台和库版本进行适配调整。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】