void SYN_FrameInfo(u8 Music, u8 *HZdata) { /****************需要发送的文本**********************************/ unsigned char Frame_Info[50]; unsigned char HZ_Length; unsigned char ecc = 0; //定义校验字节 unsigned int i = 0; HZ_Length = strlen((char*)HZdata); //需要发送文本的长度 /*****************帧固定配置信息**************************************/ Frame_Info[0] = 0xFD ; //构造帧头FD Frame_Info[1] = 0x00 ; //构造数据区长度的高字节 Frame_Info[2] = HZ_Length + 3; //构造数据区长度的低字节 Frame_Info[3] = 0x01 ; //构造命令字:合成播放命令 Frame_Info[4] = 0x01 | Music << 4 ; //构造命令参数:背景音乐设定 /*******************校验码计算***************************************/ for(i = 0; i < 5; i++) //依次发送构造好的5个帧头字节 { ecc = ecc ^ (Frame_Info[i]); //对发送的字节进行异或校验 } for(i = 0; i < HZ_Length; i++) //依次发送待合成的文本数据 { ecc = ecc ^ (HZdata[i]); //对发送的字节进行异或校验 } /*******************发送帧信息***************************************/ memcpy(&Frame_Info[5], HZdata, HZ_Length); Frame_Info[5 + HZ_Length] = ecc; USART1_SendString(Frame_Info, 5 + HZ_Length + 1); }
时间: 2023-06-17 10:06:19 浏览: 102
这段代码是用于发送语音合成的帧信息的函数。代码中定义了一个长度为50的字符数组Frame_Info,用于存储构造好的帧信息。HZ_Length存储需要发送文本的长度。Frame_Info的前5个字节是固定的帧头信息,包括帧头FD、数据区长度、命令字和命令参数。ecc是校验字节,用于对发送的字节进行异或校验。接下来的for循环逐个字节对帧头和文本数据进行异或校验。最后,将待合成的文本数据复制到Frame_Info数组中,并在最后一个字节添加上校验码ecc。最终,调用USART1_SendString函数将构造好的帧信息发送出去。
相关问题
void YS_SYN_Set(u8 *Info_data) { u8 Com_Len; Com_Len = strlen((char*)Info_data); HAL_UART_Transmit(&huart2,Info_data,Com_Len,0xFF); }
这是一个函数,函数名为YS_SYN_Set,参数是一个指向u8类型的数据的指针Info_data。在函数中,先定义了一个变量Com_Len来存储Info_data指向的字符串的长度,然后使用HAL库函数HAL_UART_Transmit将Info_data指向的数据通过UART2发送出去。其中0xFF表示等待时间无限大,直到数据完全发送完毕。
TCP/IP 3次握手,4次挥手的流程描述**
TCP/IP的3次握手和4次挥手是建立和终止TCP连接时的标准流程。
3次握手的流程描述如下:
1. 客户端发送一个带有 SYN(同步)标志的连接请求报文段给服务器。
2. 服务器收到请求后,回复一个带有 SYN/ACK(同步/确认)标志的报文段作为响应。
3. 客户端再次回复一个带有 ACK(确认)标志的报文段给服务器,确认连接建立。
4次挥手的流程描述如下:
1. 客户端发送一个带有 FIN(结束)标志的报文段给服务器,请求关闭连接。
2. 服务器收到请求后,回复一个带有 ACK标志的报文段,表示已收到客户端的关闭请求。
3. 服务器发送一个带有 FIN标志的报文段给客户端,请求关闭连接。
4. 客户端收到服务器的关闭请求后,回复一个带有 ACK标志的报文段,表示已接受关闭请求。此时,客户端进入 TIME_WAIT状态。
服务器收到客户端的确认后,关闭连接。客户端在经过一段时间后,也会关闭连接。
这样,通过3次握手建立连接和4次挥手关闭连接,TCP可以可靠地传输数据。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)