⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 readburst.c

📁 PCM9880是一块PC/104界面的双端口隔离CAN总线通讯卡
💻 C
字号:
#include <stdio.h>#include <fcntl.h>#include <unistd.h>#include <sys/types.h>#include <sys/stat.h>#include <signal.h>#include "../include/can.h"int fd;/*--- handler on SIGINT signal : the program quit with CTL-C ---*/void sortie(int sig)	{	close(fd);	printf("Terminated by user\n");	exit(0);	}int main(void)	{	int n,ret;	unsigned long i=0;	struct canmsg_t readmsg={0,0,5,0,0,{0,}};	struct sigaction act;	/*------- register handler on SIGINT signal -------*/	act.sa_handler=sortie;	sigemptyset(&act.sa_mask);	act.sa_flags=0;	sigaction(SIGINT,&act,0);	/*---------------------------------------*/		if ((fd=open("/dev/can0",O_RDWR)) < 0) 		{		perror("open");		printf("Error opening /dev/can0\n");		exit(1);			}	while (1)		{		readmsg.flags=0;		readmsg.cob=0;		readmsg.timestamp=0;		ret=read(fd,&readmsg,sizeof(struct canmsg_t));		if(ret <0) 			{			printf("Error reading message\n");			}		else 			{			printf("Received message #%lu: id=%lX dlc=%u",i,readmsg.id,readmsg.length);			for(n=0 ; n<readmsg.length ; n++)				printf(" %.2X",(unsigned char)readmsg.data[n]);			printf("\n");			i++;			}		}	return 0;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -