亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? 2410test.c

?? 博創(chuàng)2410里的can擴(kuò)展程序 博創(chuàng)2410里的can擴(kuò)展程序
?? C
字號:
/***********************************************\*	      by zhln<chlzh@mail.china.com>	        **		            2005.07.07	        	    **						                        *\***********************************************/#include <stdio.h>#include <unistd.h>#include <sys/types.h>#include <sys/ipc.h>#include <sys/ioctl.h>#include <pthread.h>#include <fcntl.h>#include <time.h>/* -----------------------AD----------------------- */#define ADC_WRITE(ch, prescale)	((ch)<<16|(prescale))#define ADC_WRITE_GETCH(data)	(((data)>>16)&0x7)#define ADC_WRITE_GETPRE(data)	((data)&0xff)#define ADC_DEV		"/dev/adc/0raw"static int adc_fd = -1;static int init_ADdevice(void){	if((adc_fd=open(ADC_DEV, O_RDWR))<0){		printf("Error opening %s adc device\n", ADC_DEV);		return -1;	}	return 0;}static int GetADresult(int channel){	int PRESCALE=0XFF;	int data=ADC_WRITE(channel, PRESCALE);	write(adc_fd, &data, sizeof(data));	read(adc_fd, &data, sizeof(data));	return data;}/* ------------------------CAN----------------------- */#define UPCAN_IOCTRL_SETBAND			0x1	//set can bus band rate#define UPCAN_IOCTRL_SETID				0x2	//set can frame id data#define UPCAN_IOCTRL_SETLPBK			0x3	//set can device in loop back mode or normal mode#define UPCAN_IOCTRL_SETFILTER			0x4	//set a filter for can device#define UPCAN_IOCTRL_PRINTRIGISTER	0x5	// print register information of spi and portE#define UPCAN_EXCAN					(1<<31)	//extern can flagtypedef enum{	BandRate_125kbps=1,	BandRate_250kbps=2,	BandRate_500kbps=3,	BandRate_1Mbps=4}CanBandRate;typedef struct {	unsigned int id;		unsigned char data[8];	unsigned char dlc;			int IsExt; 	int rxRTR;	}CanData, *PCanData;typedef struct{	unsigned int Mask;	unsigned int Filter;	int IsExt;}CanFilter,*PCanFilter;#define CAN_DEV "/dev/can/0"static int can_fd=-1;//#define DEBUG#ifdef DEBUG#define DPRINTF(x...) printf("Debug:"##x)#else#define DPRINTF(x...)#endifstatic void* canRev(void* t){  CanData data;  int i;  DPRINTF("can receive thread begin.\n");  for(;;){	read(can_fd,&data,sizeof(CanData));	for(i=0;i<data.dlc;i++)	  putchar(data.data[i]);	fflush(stdout);  }  return NULL;}#define MAX_CANDATALEN 8static void CanSendString(char *pstr){  CanData data;  int len=strlen(pstr);  memset(&data,0,sizeof(CanData));  data.id=0x123;  data.dlc=8;  for(;len>MAX_CANDATALEN;len-=MAX_CANDATALEN){    memcpy(data.data,pstr,8);    write(can_fd,&data,sizeof(CanData));  }  data.dlc=len;  memcpy(data.data,pstr,len);  write(can_fd,&data,sizeof(CanData));}int main(void){	static int i;	int flag;	char datasend[8];	pthread_t th_can;    int d,d0,d1,d2;	//    int j=0;	int id=0x123;    if(init_ADdevice()<0){	  printf("Error initing ADdevice\n");	  return -1;	}	if((can_fd=open(CAN_DEV,O_RDWR))<0){	  printf("\nOops,could not open %s can device !\n",CAN_DEV);	  return 1;	}	ioctl(can_fd,UPCAN_IOCTRL_SETID,id);	#ifdef DEBUG  ioctl(can_fd,UPCAN_IOCTRL_SETLPBK,1);#endif	pthread_create(&th_can,NULL,canRev,0);	while(1){	  printf("    +---------------------------------------------------------+\n");	  printf("    |   Please input 1,2,3,4,5,or 6 to respectively operate   |\n");	  printf("    |  led1,led2,led3,buzzer,numeral transitor or step motor  |\n");	  printf("    +---------------------------------------------------------+\n");	  scanf("%d",&flag);	  switch(flag){      case 1:		datasend[0]=0x81;		datasend[2]=0;		while(1){		  printf("Input '0' or '1' to set led1,'2' to exit this cycle \n");		  scanf("%d",&i);		  if(i==0)			datasend[1]=0;		  else if(i==1)			datasend[1]=1;		  else			break;		  printf("\n0x%x,%d\n",datasend[0],datasend[1]);		  write(can_fd,datasend,8);		}		  break;	  case 2:		datasend[0]=0x82;		while(1){		  printf("Input '0' or '1' to set led2,'2' to exit this cycle \n");		  scanf("%d",&i);		  if(i==0)			  datasend[1]=0;		  else if(i==1)			  datasend[1]=1;		  else if(i==2)			  break;		  write(can_fd,datasend,8);		  		}	    break;	  case 3:		datasend[0]=0x83;		while(1){		  printf("Input '0' or '1' to set led3,'2' to exit this cycle \n");		  scanf("%d",&i);		  if(i==0)			datasend[1]=0;		  else if(i==1)			datasend[1]=1;		  else if(i==2)			break;		  write(can_fd,datasend,8);		}		break;	  case 4:		datasend[0]=0x84;		while(1){		  printf("Input 1 to start buzzer 0 to stop buzzer,or 2 to exit this cycle\n");		  scanf("%d",&i);		  if(i==0)			datasend[1]=0;		  else if(i==1)			datasend[1]=1;		  else if(i==2)			break;		  CanSendString(datasend);		}		break;	  case 5:		datasend[0]=0x85;		while(1){	  	  printf("Input a number to light numeral transistor\n");		  printf("Input '0xaa' to put out numeral transistor\n");		  // scanf("%x",&i);		  for(i=0;i<100;i++){			datasend[1]=((i/10)<<4)+i%10;		    CanSendString(datasend);			sleep(1);		  }		}		break;	  case 6:		datasend[0]=0x86;        while( 1 ){		  		  d0=GetADresult(1);		  usleep(500000);		  d1=GetADresult(1);		  usleep(500000);		  d2=GetADresult(1);		  if((abs(d1-d2))>5){			d1=d2;		  }		  else			continue;		  d=(d1-d0);		  if(abs(d)<5){			printf("The sample value -- %d is too small\n",d);			continue;		  }		  printf("The sample value is: %6d\n",d);		  datasend[1]=d*3/32;		  write(can_fd,datasend,8);		  		}		  		break;	  default:		break;	  }	}	pthread_join(th_can,NULL);	printf("\n");	if(close(can_fd)<0){	  printf("Oops,could not close the %s can device",CAN_DEV);	  exit(1);	}	return 0;}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
丝袜美腿亚洲一区二区图片| 亚洲综合偷拍欧美一区色| 国产米奇在线777精品观看| 精品国产99国产精品| 老司机午夜精品| 久久久电影一区二区三区| 国产毛片精品国产一区二区三区| 中文字幕第一区综合| 在线观看一区二区视频| 爽好多水快深点欧美视频| 欧美不卡在线视频| www.欧美色图| 亚洲va国产天堂va久久en| 欧美大片日本大片免费观看| 成人在线视频首页| 亚洲国产毛片aaaaa无费看| 欧美成人精精品一区二区频| 成人app在线观看| 亚洲国产精品综合小说图片区| 日韩午夜av一区| 97精品电影院| 久久99久国产精品黄毛片色诱| 国产精品国产三级国产普通话99 | 日韩一级片在线播放| 国产真实乱子伦精品视频| 国产精品久久久久一区二区三区| 国产一区二区在线影院| 色婷婷综合久久久中文字幕| 亚洲午夜久久久久久久久电影网| 555www色欧美视频| 不卡区在线中文字幕| 亚洲高清免费在线| 国产精品国产三级国产aⅴ中文| 欧美日韩精品专区| 成人综合在线视频| 捆绑紧缚一区二区三区视频| 国产精品国产三级国产专播品爱网| 欧美欧美欧美欧美| av高清不卡在线| 久久超碰97中文字幕| 亚洲毛片av在线| 久久久99久久| 欧美日韩一区二区三区在线看| 一区二区三区四区亚洲| 久久色在线观看| 欧美性视频一区二区三区| 欧美在线不卡视频| 激情久久五月天| 日韩精品1区2区3区| 亚洲三级电影网站| 国产人成亚洲第一网站在线播放 | 欧美夫妻性生活| 不卡av在线网| 国产一区二区美女诱惑| 中文字幕中文字幕中文字幕亚洲无线| 91麻豆精品国产91久久久久久久久| 99久久久免费精品国产一区二区| 国产一区二区美女诱惑| 蜜桃在线一区二区三区| 视频一区二区三区入口| 亚洲综合丁香婷婷六月香| 国产精品三级视频| 国产精品色婷婷久久58| 国产日产欧美精品一区二区三区| 欧美一区二区三区性视频| 欧洲一区二区三区在线| 欧美在线|欧美| 色婷婷综合久色| 在线观看国产精品网站| 91蝌蚪国产九色| 99国产精品视频免费观看| 不卡一区二区中文字幕| eeuss鲁片一区二区三区在线看| 国产精品18久久久久久久久| 激情六月婷婷久久| 国产乱理伦片在线观看夜一区| 六月丁香综合在线视频| 国产自产v一区二区三区c| 奇米888四色在线精品| 日韩国产一区二| 久久精品国产免费| 国产在线播精品第三| 国产一区二区三区四区五区美女| 国产一区欧美日韩| 国产乱国产乱300精品| 国产宾馆实践打屁股91| 成人免费看黄yyy456| 99国产欧美另类久久久精品| 欧洲一区二区三区免费视频| 欧美日韩精品一区二区天天拍小说| 欧美二区在线观看| 久久综合九色综合欧美98 | **性色生活片久久毛片| 亚洲情趣在线观看| 亚洲国产乱码最新视频| 麻豆免费精品视频| 福利一区二区在线观看| 一本大道综合伊人精品热热| 欧美日韩国产中文| 日韩欧美综合一区| 国产精品丝袜在线| 亚洲线精品一区二区三区| 久久99精品久久久| 99re这里只有精品6| 67194成人在线观看| 国产欧美日韩不卡免费| 亚洲综合丝袜美腿| 狠狠色丁香久久婷婷综合丁香| 成人激情图片网| 欧美日本国产视频| 国产亚洲1区2区3区| 一区二区三区在线高清| 老司机免费视频一区二区| 成人av午夜电影| 欧美剧情电影在线观看完整版免费励志电影| 欧美一区二区三区免费观看视频| 久久九九久精品国产免费直播| 亚洲婷婷国产精品电影人久久| 日韩黄色一级片| 不卡高清视频专区| 91精品国产高清一区二区三区| 国产午夜一区二区三区| 午夜久久久久久电影| 成人免费看黄yyy456| 日韩欧美久久久| 亚洲欧洲一区二区在线播放| 日本午夜精品一区二区三区电影| 成人av网站在线| 精品国产网站在线观看| 夜夜嗨av一区二区三区中文字幕| 国产一区二区三区在线看麻豆| 在线中文字幕一区| 国产精品国产精品国产专区不片| 免费人成在线不卡| 欧美性受xxxx黑人xyx| 国产精品女同互慰在线看| 免费在线观看日韩欧美| 欧美在线制服丝袜| 自拍偷拍亚洲激情| 国产精品77777| 日韩欧美国产一二三区| 亚洲风情在线资源站| 91啦中文在线观看| 国产精品五月天| 国产黄人亚洲片| 精品国产三级电影在线观看| 天天亚洲美女在线视频| 在线观看免费视频综合| 亚洲国产精品激情在线观看| 国产一区二区免费看| 日韩欧美国产一区二区在线播放 | 精品午夜久久福利影院| 欧美日韩激情一区| 亚洲精品视频免费观看| 国产 欧美在线| 久久精品夜夜夜夜久久| 久久99精品国产麻豆婷婷洗澡| 亚洲欧美日韩人成在线播放| 成人精品视频一区| 国产精品美女久久久久久久久 | 亚洲欧美日韩国产一区二区三区| 高清久久久久久| 国产精品伦一区| 成人a区在线观看| 国产精品久久久久久久久免费丝袜| 国产.精品.日韩.另类.中文.在线.播放| 精品国产乱码久久久久久久| 久久99久久99小草精品免视看| 精品久久久网站| 精品一区二区三区在线观看国产| 精品国产乱码久久久久久老虎| 麻豆91精品视频| 久久蜜桃av一区精品变态类天堂| 久久综合综合久久综合| wwwwww.欧美系列| 国产精品一卡二卡在线观看| 国产午夜精品福利| 成人在线视频一区二区| 中文字幕日韩一区| 欧美日韩在线直播| 看片网站欧美日韩| 久久综合色婷婷| 成人看片黄a免费看在线| 亚洲欧美一区二区视频| 日本韩国欧美国产| 日韩精品免费视频人成| 精品福利在线导航| 从欧美一区二区三区| 亚洲免费视频成人| 欧美一区日本一区韩国一区| 激情欧美一区二区三区在线观看| 欧美国产视频在线| 91久久线看在观草草青青 | 久久国产夜色精品鲁鲁99| www国产成人| 91女人视频在线观看| 三级不卡在线观看| 国产日韩精品一区二区三区在线| 色噜噜偷拍精品综合在线| 日本美女一区二区三区视频|