项目简介
本项目涵盖线跟随机器人控制程序以及基于ARM Cortex M3微处理器的USB Host解决方案。线跟随机器人控制程序由x86汇编语言编写,可实现机器人的控制功能。USB Host解决方案用于和USB存储设备通信,能读取其上的音频文件并通过DAC播放,还提供访问USB闪存驱动器文件的示例。
项目的主要特性和功能
线跟随机器人部分
实现线跟随机器人的控制逻辑,采用x86汇编语言编写并在ARM Cortex M3微处理器上运行。
USB Host部分
- USB Host栈初始化:通过相关函数初始化USB Host控制器,设置必要的时钟和引脚。
- USB设备枚举:枚举并配置连接的USB设备。
- 音频文件读取:从USB存储设备上读取音频文件并保存在内存中。
- DAC配置:配置DAC以接收音频数据并转换为模拟信号。
- 音频播放控制:控制音频数据的播放,包括播放、暂停、更改轨道和调节音量。
- 文件系统操作:对USB存储设备上的FAT16文件系统进行初始化和操作。
- 文件访问示例:提供Main_Read()、Main_Write()和Main_Copy()三个示例函数,可对USB闪存驱动器上的文件进行读取、写入和复制操作。
安装使用步骤
线跟随机器人部分
暂未提供明确的安装使用步骤,需根据具体硬件和开发环境进行适配和开发。
USB Host部分
运行USB主机示例
- 准备设备和工具:
- Keil MCB1700板
- Keil ULink USB - JTAG适配器用于闪存编程
- Keil uVision3 IDE用于打开项目
- 串口线用于在超级终端查看日志消息
- 设置MCB1700板的跳线:将标记为“HOST”的丝印处的两个跳线闭合,位于中间位置。
- 配置超级终端以查看日志消息:
- 将串口线连接到MCB1700板的UART #0。
- 根据PCLKSELx值设置波特率,若UART的PCLK为18MHz,最高波特率为57600;若能达到36Mhz或72Mhz,波特率可设为115,200,在usbhost_main.c中修改该值。
- 配置超级终端设置为57600 - N - 8 - 1且“无流量控制”。
- 使“RESET”和“INT0”按钮附近的“ISP”和“RST”两个跳线保持打开状态。
- 在usbhost_lpc17xx.h文件中定义以下宏:
-
define PRINT_Log UART_Printf
-
define PRINT_Err(rc) UART_Printf("ERROR: In %s at Line %u - rc = %d\n", FUNCTION, LINE, rc)
-
- 下载并运行演示:
- 使用USB或可选电源连接电源。
- 连接Keil U - Link USB - J - Tag。
- 在UART#0处连接串口线以查看日志消息。
- 打开超级终端并按上述设置进行配置。
- 打开USBHostLite目录。
- 双击打开项目UsbHostLite.Uv2。
- 转到项目选项卡并点击“Rebuild all target files”编译项目。
- 转到闪存选项卡并点击“Download”。
- 在USB主机端口连接USB闪存驱动器。
音频播放系统
- 下载项目源代码。
- 使用Keil uVision或其他支持ARM Cortex - M3的IDE编译项目。
- 将微控制器连接到USB Host端口,并确保所有必要的硬件连接正确(如音频输出、USB接口等)。
- 运行编译后的程序,观察微控制器是否能够成功枚举USB设备,并读取音频文件进行播放。
- 如果程序未能正常工作,检查连接和代码配置,并进行必要的调试。
注:由于代码涉及特定硬件和微控制器的特定实现,使用和调试时可能需参考具体硬件和微控制器的文档。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】