过去一周我一直在尝试在C中实现一个原始的串行文件传输协议,我遇到了一个非常奇怪的问题,我似乎找不到在线解决方案.我已经设法通过串口传输二进制数据并接收它,但在此过程中,所有"0D"字节都转换为"0A".以下是我的代码.
#include <stdlib.h>
#include <stdio.h> /* Standard input/output definitions */
#include <string.h> /* String function definitions */
#include <unistd.h> /* UNIX standard function definitions */
#include <fcntl.h> /* File control definitions */
#include <errno.h> /* Error number definitions */
#include <signal.h>
#include <sys/ioctl.h>
#include <termios.h>
//eventually plan to set up a proper communication protocol
#define ACK 0x01
#define NAK 0x00
int setAttribs (int fd, int speed, int parity);
unsigned char* readFile(char* filename, int* file_size);
int main(void){
//set up ports
int …Run Code Online (Sandbox Code Playgroud)