gpt4 book ai didi

c - 分割核心错误c

转载 作者:行者123 更新时间:2023-11-30 19:30:16 26 4
gpt4 key购买 nike

我对 C 编码有点不熟练,但我需要这个脚本来测试与微 Controller 的串行通信。我将以下代码写为:

int main() {

char *portname = "/dev/ttyACM0";
FILE *csv = fopen("~/Desktop/my.csv", "wb");

int fd = open(portname, O_RDWR | O_NOCTTY | O_SYNC);
if (fd < 0)
{
//error_message ("error %d opening %s: %s", errno, portname, strerror (errno));
return 1;
}

set_interface_attribs (fd, B9600, 0); // set speed to 9600 bps, 8n1 (no parity)
set_blocking (fd, 1); // set no blocking

char a = 255;
int i = 0;

write(fd, &a, 1);

do {
char c;
read(fd, &c, 1); // wait for next value
fprintf(csv, "%d\n", c);
i ++;
} while(i < 10000); //keep running this loop for a while

write(fd, &a, 1);
fclose(csv);
close(fd);
return 0;

此脚本应成功连接以进行串行通信,向执行某些操作的接收器发送一个起始位 (255),然后开始将接收到的数据写入 csv 文件,直到 while 循环结束。已使用指令编译该源代码:

g++ -o serial c-serial.c

其中 c-serial.c 是源代码的名称。只需跳过两个“设置”函数,它们在此范围内可见,因此错误不会由此产生。事实上,在执行时我收到:

Segmentation fault (core dumped)

如何修复它?

最佳答案

函数调用fopen无法将 ~ 解析为您的主目录。请查看how to open a file in user's home folder .

关于c - 分割核心错误c,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51361194/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com