# 驱动固件的配置与使用

#### 一、下位机驱动板配置

​		小车驱动底板采用是串口通信，核心板接口上支持`USB`通信。小车与`ROS`交互使用的是`uart3`(小车底板上的`micro usb`接口)，小车打印log采用是`uart1`(小车底板上的排针)。

#### 1.1 硬件的连接

​		我们将`Pibot`的核心板的`micro usb`连接到电脑，如果驱动正确的情况下，通过串口调试助手可以打开对应的COM口，如下图所示：

#### 1.2 检查串口通信

​		为了测试小车的功能，我们可以在串口发送`5a 00 00 5a`命令，这个命令会返回小车的固件版本和构建时间信息。其定义如下所示。如果为我们发送命令后，小车有数据返回则说明串口通信正常。

```c
{
    char version[16]; // 固件版本
    char time[16];    // 构建时间
}
```

- 发送(十六进制): `5a 00 00 5a`
- 接收(十六进制): `5a 00 20 76 32 2e 30 2e  30 00 00 00 00 00 00 00  00 00 00 32 30 32 30 30  31 30 39 2d 6d 33 65 33 00 00 00 d1`

#### 1.3、驱动板的初始化配置

​		由于不同的小车的轮子种类和传感器的种类不同，所以需要对小车进行初始化配置。

​		打开串口助手，设置115200波特率。下面的命令是配置小车的基本信息的。

```shell
5A 01 40 41 00 AF 00 2C 00 0A 40 01 8C 0A 00 00 0A 00 FA 00 32 00 00 00 C8 00 47 5A 00 01 0F 0F 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 81
```

​	