小编pat*_*tar的帖子

串口二进制传输改变回车

过去一周我一直在尝试在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)

c linux serial-port carriage-return linefeed

7
推荐指数
1
解决办法
2479
查看次数

标签 统计

c ×1

carriage-return ×1

linefeed ×1

linux ×1

serial-port ×1