# C/C++/MCU
FDILink_USART_使用手册
# 1. 简介
USART(Universal Synchronous/Asynchronous Receiver/Transmitter)是一种通用的串行通信协议,具有全双工传输、同步或异步传输的特点。它为用户提供了一种高效获取模块数据的途径。我司专注于提供丰富的USART接口功能,包括主动发送模式,数据帧请求模式和指令配置模式。主动发送模式允许模块主动向用户发送数据,数据帧请求模式则使用户能够按需获取数据,而指令配置模式则简化了模块参数的配置过程。通过这些USART接口功能,用户可以更灵活、高效地与模块进行通信,满足不同场景的数据获取需求。
# 2. 使用方法
# (1) 主动发送模式
① 如果您电脑上没有串口去顶,请下载上位机串口驱动:【网址】
② 用户需要在上位机配置特定的COM口输出,以及输出频率。
1) 配置输出COM口波特率。
2) 根据FDILink协议手册配置数据包输出频率。
3) 保存设置参数。
4) 重启设备配置功能生效!!!注意一定需要保存重启设备配置才能生效。
③ 通过我司提供的例程代码以及通信协议手册在USART总线上获取串口发布数据。
④ 具体协议数据包内包含的数据,请详细参考fdilink章节【网址】,此处只详细说明数据包的获取方法及步骤
# (2) 数据帧请求模式
① 本数据帧允许用户通过问答形式获取导航系统的数据,发送需要获取的数据帧的ID编号,以及偏移Offset 系统会返回当前时刻的对应数据输出,如果该数据帧被设置成固定频率输出,则会持续实时返回对应数据。
② 帧格式定义:
Packet ID | 0xA0 | ||||
---|---|---|---|---|---|
Offset | Size | Format | Field | Unit | Description |
0 | 1 | uint8_t | ID | 数据帧的ID编号 | |
1 | 1 | uint8_t | CMD | 请求等于0,其他未定义 | |
2 | 2 | uint16_t | Reserved | 保留 |
# (3) 指令配置模式
① 注意:此功能用户可以使用串口调试助手,或者单片机的串口命令进行主要 功能配置,此处的示例以串口调试助手模拟串口发送,以及MCU[单片机]指令函 数调用介绍。具体指令使用步骤可见模块使用手册中串口配置指令部分【网址】
② 串口助手配置模式主要指令
串口配置模式常用命令列表 | |||
---|---|---|---|
序号 | 配置命令 | 功能 | 备注 |
1 | #fconfig | 进入配置模式 | |
2 | #fdeconfig | 退出配置模式 | |
3 | #freboot | 热重启 | |
4 | #faxis | 设置安装方向 | |
5 | #freset | 恢复默认参数 | |
6 | #fsave | 保存设置到Flash中 | |
7 | #fante | 设置天线相关参数 | |
8 | #fimucal | 进行校准 | |
9 | #fmsg | 数据包查与设置 | |
10 | #fparam | 参数配置 | |
11 | #fdgnss | 差分账号配置 |
③ MCU指令配置函数参照表
MCU指令配置函数参照表 | |||
---|---|---|---|
序号 | 指令函数 | 功能 | 形参 |
1 | fdiComSetConfigBaud(COM1,COMM_BAUD_921600); | 配置设备数据口的波特率 | (设置COM口,设置波特率) |
2 | fdiComSetConfigType(COM1,COMM_STREAM_TYPE_NAV); | 配置设备数据口的功能 | (1.设置COM口,2.设置数据口功能) |
3 | fdiComSetConfigUserDefine(USER_DEFINE_CAN_ID,1); | 配置USER_DEFINE数据 | (1.USE_DEFINE_ID,2.NUM) |
4 | fdiComSetConfigGPIOs(GPIO2, GPIOS_1PPS_OUTPUT); | 配置GPIOs功能 | (1.设置GPIO口,2.GPIO口的模式) |
5 | fdiComSetConfigAID(AID_ACCEL_GRAVITY, ENABLE); | 配置AID开关 | (1.设置AID功能,2.开关) |
6 | fdiComGetAxis(); | 查询轴的安装方向 | |
7 | fdiComSetConfigAxis("x", 0); | 配置AID角度方向 | (1.设置轴功能,2.设置角度) |
8 | fdiComGetAxis(); | 查询轴的安装方向 | |
9 | fdiComGetAnte(); | 查询双天线航向与载体前向夹角 | |
10 | fdiComSetConfigAnteHeadbias(0); | 配置双天线航向偏角 | (设置航向偏角) |
11 | fdiComSetConfigAnteBaseline(0); | 配置双天线之间的基线长度 | (设置基线长度) |
12 | fdiComSetConfigAnteArm(0, 0, 0); | 配置GNSS主天线到IMU的杆臂命令 | (1.x轴,2.y轴,3.z轴) |
13 | fdiComGetAnte(); | 查询双天线航向与载体前向夹角 | |
14 | fdiComSetConfigImucailed(Gyro); | 配置IMU校准 | (设置IMU校准) |
15 | fdiComSetConfigPacketSentMsg(MSG_UNIX_TIME, 20); | 配置发送的数据包内容及频率 | (1.需要数据包内容,2.频率) |
16 | fdiComGetParam("MSG_IMU"); | 查询数据 | |
17 | fdiComGetParam("COMM_BAUD3"); | 查询数据 | |
18 | fdiSetParam("COMM_BAUD3", 8); | 配置参数数值 | (1.参数名称,2.参数数值) |
19 | fdiComGetParam("COMM_BAUD3"); | 查询数据 | |
20 | fdiComConfigAIDmag3DMagetic(Enable); | 配置AIDmag3DMagetic开关 | |
21 | fdiSetSave(); | 配置保存 | |
22 | fdiSetReboot(); | 配置重启 |
# 3. 测试效果
此测试仅说明在USART总线数据包经过配置后会按照规定的数据格式向外发送。用户可根据FDI_link协议手册以及提供的例程接收代码编写自己所需要数据包的接收代码。