波形显示效果
协议
帧格式
- 和校验计算方法:
从帧头 0xAA 字节开始,一直到 DATA 区结束,对每一字节进行累加操作,只取低 8 位 - 附加校验计算方法:
计算和校验时,每进行一字节的加法运算,同时进行一次 SUM CHECK 的累加操作,只取低 8 位
波形数据的帧格式(灵活帧格式)
灵活格式帧共 10 帧,帧 ID 从 0xF1到 0xFA,每一帧最多可以携带 10 个数据,每一个数据可以分别设置为 U8、 S16、 U16、 S32 的格式。如果您需要显示 float 型数据,可以根据数据范围以及精度要求, 乘以 1000 或者 100 变成 S32 型整数进行传输.
注意:数据区使用小端格式,低字节在前
根据协议实现发送函数
void anotc_send_data(uint8_t *data, uint8_t len) {
uint8_t buffer[50] = {0};
uint8_t count = 0;
uint8_t sum_check = 0;
uint8_t add_check = 0;
buffer[count++] = 0xAA;
buffer[count++] = 0xFF;
buffer[count++] = 0xF1; //设定范围0xF1~0xFF
buffer[count++] = len;
for(uint8_t i = 0; i < 4; ++i) {
sum_check += buffer[i];
add_check += sum_check;
}
for(uint8_t i = 0; i < len; ++i) {
buffer[count++] = data[i];
sum_check += data[i];
add_check += sum_check;
}
buffer[count++] = sum_check;
buffer[count++] = add_check;
/* 将buffer中的数据通过串口外设发送出去 */
HAL_UART_Transmit(&huart1, buffer, count, 1000);
}