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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? interruption.c

?? Who to use ECAN network with dsPIC33F, Microchip microcontroller.
?? C
字號:
/** *****************************************
           INTERRUPTION.C
***************************************** **/
#include "p33fxxxx.h"
#include "constante.h"
#include "variable_globale.h"
#include "timer.h"
#include "ECAN1Drv.h"
#include "interruption.h"
#include "carte.h"
#include "qei.h"
#include "adc.h"

#include "lcd.h"

/* ********************
		BUS CAN
******************** */
void __attribute__((interrupt, no_auto_psv))_C1Interrupt(void)  
{
	IFS2bits.C1IF = 0;        // clear interrupt flag	

	if(C1INTFbits.TBIF)
    { 
    	C1INTFbits.TBIF = 0;
    } 
 
    if(C1INTFbits.RBIF)
    {   
	    C1INTFbits.RBIF = 0; 
		// read the message 
	    if(C1RXFUL1bits.RXFUL6==1) {rx_ecan1message.buffer=6;C1RXFUL1bits.RXFUL6=0;}
	    if(C1RXFUL1bits.RXFUL7==1) {rx_ecan1message.buffer=7;C1RXFUL1bits.RXFUL7=0;}
	    if(C1RXFUL1bits.RXFUL8==1) {rx_ecan1message.buffer=8;C1RXFUL1bits.RXFUL8=0;}
	    if(C1RXFUL1bits.RXFUL9==1) {rx_ecan1message.buffer=9;C1RXFUL1bits.RXFUL9=0;}
	    if(C1RXFUL1bits.RXFUL10==1) {rx_ecan1message.buffer=10;C1RXFUL1bits.RXFUL10=0;}
	    if(C1RXFUL1bits.RXFUL11==1) {rx_ecan1message.buffer=11;C1RXFUL1bits.RXFUL11=0;}
	    if(C1RXFUL1bits.RXFUL12==1) {rx_ecan1message.buffer=12;C1RXFUL1bits.RXFUL12=0;}
	    if(C1RXFUL1bits.RXFUL13==1) {rx_ecan1message.buffer=13;C1RXFUL1bits.RXFUL13=0;}
	    if(C1RXFUL1bits.RXFUL14==1) {rx_ecan1message.buffer=14;C1RXFUL1bits.RXFUL14=0;}
	    if(C1RXFUL1bits.RXFUL15==1) {rx_ecan1message.buffer=15;C1RXFUL1bits.RXFUL15=0;}
	    if(C1RXFUL2bits.RXFUL16==1) {rx_ecan1message.buffer=16;C1RXFUL2bits.RXFUL16=0;}
	    if(C1RXFUL2bits.RXFUL17==1) {rx_ecan1message.buffer=17;C1RXFUL2bits.RXFUL17=0;}
	    if(C1RXFUL2bits.RXFUL18==1) {rx_ecan1message.buffer=18;C1RXFUL2bits.RXFUL18=0;}
	    if(C1RXFUL2bits.RXFUL19==1) {rx_ecan1message.buffer=19;C1RXFUL2bits.RXFUL19=0;}	    
	    if(C1RXFUL2bits.RXFUL20==1) {rx_ecan1message.buffer=20;C1RXFUL2bits.RXFUL20=0;}
	    if(C1RXFUL2bits.RXFUL21==1) {rx_ecan1message.buffer=21;C1RXFUL2bits.RXFUL21=0;}
	    if(C1RXFUL2bits.RXFUL22==1) {rx_ecan1message.buffer=22;C1RXFUL2bits.RXFUL22=0;}
	    if(C1RXFUL2bits.RXFUL23==1) {rx_ecan1message.buffer=23;C1RXFUL2bits.RXFUL23=0;}
	    if(C1RXFUL2bits.RXFUL24==1) {rx_ecan1message.buffer=24;C1RXFUL2bits.RXFUL24=0;}
	    if(C1RXFUL2bits.RXFUL25==1) {rx_ecan1message.buffer=25;C1RXFUL2bits.RXFUL25=0;}
	    if(C1RXFUL2bits.RXFUL26==1) {rx_ecan1message.buffer=26;C1RXFUL2bits.RXFUL26=0;}
	    if(C1RXFUL2bits.RXFUL27==1) {rx_ecan1message.buffer=27;C1RXFUL2bits.RXFUL27=0;}	 
	    if(C1RXFUL2bits.RXFUL28==1) {rx_ecan1message.buffer=28;C1RXFUL2bits.RXFUL28=0;}
	    if(C1RXFUL2bits.RXFUL29==1) {rx_ecan1message.buffer=29;C1RXFUL2bits.RXFUL29=0;}
	    if(C1RXFUL2bits.RXFUL30==1) {rx_ecan1message.buffer=30;C1RXFUL2bits.RXFUL30=0;}
	    if(C1RXFUL2bits.RXFUL31==1) {rx_ecan1message.buffer=31;C1RXFUL2bits.RXFUL31=0;}
	   
	    rx_ecan1message.buffer -= 8;
		rx_ecan1message.filter = C1VECbits.FILHIT;

	    rxECAN1(&rx_ecan1message); 	 	    
		
		reception_ecan=1;	
	}
}

/* ********************
		DMA 
			(0 -> Transmission bus CAN)
			(2 -> R閏eption bus CAN)
******************** */
void __attribute__((interrupt, no_auto_psv)) _DMA0Interrupt(void)
{
   IFS0bits.DMA0IF = 0;          // Clear the DMA0 Interrupt Flag;
	
}

void __attribute__((interrupt, no_auto_psv)) _DMA2Interrupt(void)
{
   IFS1bits.DMA2IF = 0;          // Clear the DMA2 Interrupt Flag;
}

/* ********************
		TIMER
******************** */
void __attribute__((__interrupt__,auto_psv)) _T1Interrupt(void)
{
	IFS0bits.T1IF = 0; 
#ifdef DEPLACEMENT
	LED=!LED;
#endif

	temps_timer1 += 1;
	if(temps_timer1 == 10)
	{	
		temps_timer1_ms +=1;
		temps_timer1 = 0;
	}
	if(temps_timer1_ms >= 90e3)
	{
		//Arr阾 total
	}
	
	/* PINCE */	
#ifdef PINCE
/* SERVO */
	inc++;                         /*                                        */	if(inc < 3*MS_TIMER1) 
	{               /*         SI TPS < 3 ms                    */	  if(inc==inc_servo_0)       /*     inc_0 = f(angle_0)                   */	    SERVO_0=1;               /*     signal servo_0 a zero                */	  if(inc==inc_servo_1)       /*     inc_1 = f(angle_1)                   */	    SERVO_1=1;               /*     signal servo_1 a zero                */	}                            /*                                          */	else                         /*        SI TPS > 3 ms                     */	  if(inc>=20*MS_TIMER1) 
	  {               /*     FIN DES TRAMES                       */	      inc=0;                 /*                                          */	      SERVO_0=0;             /*     Debut nvle trame servo_0             */	      SERVO_1=0;             /*     Debut nvle trame servo_1             */	   }
	   
/* ASSERVISSEMENT MOTEUR CC */
	inc_moteur++;
	inc2_moteur++;
	if(inc_moteur == 10*MS_TIMER1)
	{
		inc_moteur =  0;
	// R閏up閞ation des points
		points_actuels = POS1CNT;
	
	// Calcul consigne
		points_voulus = points_objectif;

//		if((points_actuels < points_objectif + NB_PAS_TOUR)&&(points_actuels > points_objectif - NB_PAS_TOUR)) 
//		{
//			points_voulus = points_objectif;
//		} else	{
//			if(points_actuels < points_objectif)
//			{
//				points_voulus += consigne_vit_moteur++;
//			} else 	
//				if (points_actuels < points_objectif)
//				{
//					points_voulus -= consigne_vit_moteur++;
//				}
//			if(consigne_vit_moteur > NB_PAS_TOUR) consigne_vit_moteur = NB_PAS_TOUR;
//		}	

//		if(inc2_moteur == 100*MS_TIMER1)
//		{
//			inc2_moteur = 0;
//			
//			if((consigne_vit_moteur < VITESSE_CONSIGNE_MAX)&&(points_voulus < points_objectif / 2.0))
//			{
//				if(consigne_vit_moteur < VITESSE_CONSIGNE_MAX) consigne_vit_moteur++;
//				else 
//				{
//					consigne_vit_moteur = VITESSE_CONSIGNE_MAX;
//					sv_points = points_voulus;
//				}
//			} else  if((points_voulus > sv_points)||((sv_points == 0)&&(points_voulus > points_objectif / 2.0)))
//					{
//						consigne_vit_moteur--;
//					}
//		}	
//		

	// Asservissement	
		vitesse = KP*(points_voulus - points_actuels);
	
	// Mise en forme du rapport cyclique	
		if(vitesse > VITESSE_MOTEUR_CC_MAX) vitesse = VITESSE_MOTEUR_CC_MAX;
		if(vitesse < -1*VITESSE_MOTEUR_CC_MAX) vitesse = -1*VITESSE_MOTEUR_CC_MAX;
		vitesse += VITESSE_MOTEUR_CC_0;
		P1DC1 = vitesse;
	}	                                                                
#endif
/* FIN PINCE */                                                                
}

void __attribute__((__interrupt__,auto_psv)) _T3Interrupt(void)  
{	IFS0bits.T3IF = 0;
} 

#ifdef AFFICHAGE
void __attribute__((__interrupt__,auto_psv)) _ADC1Interrupt(void)
{
	IFS0bits.AD1IF = 0;		//Clear du flag

//	capteur_distance = (double)ReadADC1(0);
	capteur_distance = (double)ADC1BUF0;
	
	//if(capteur_distance > 112)
	//	LED = 1;
	//else	LED = 0;
}
#endif

void rxECAN1(mID *message)
{
	unsigned int ide=0;
	unsigned int srr=0;
	unsigned long id=0;
			
//	mID *message = &rx_ecan1message;
	
	/*
	Standard Message Format: 
	Word0 : 0bUUUx xxxx xxxx xxxx
			     |____________|||
 					SID10:0   SRR IDE(bit 0)     
	Word1 : 0bUUUU xxxx xxxx xxxx
			   	   |____________|
						EID17:6
	Word2 : 0bxxxx xxx0 UUU0 xxxx
			  |_____||	     |__|
			  EID5:0 RTR   	  DLC
	word3-word6: data bytes
	word7: filter hit code bits
	
	Substitute Remote Request Bit
	SRR->	"0"	 Normal Message 
			"1"  Message will request remote transmission
	
	Extended  Identifier Bit			
	IDE-> 	"0"  Message will transmit standard identifier
	   		"1"  Message will transmit extended identifier
	
	Remote Transmission Request Bit
	RTR-> 	"0"  Message transmitted is a normal message
			"1"  Message transmitted is a remote message
	*/
	/* read word 0 to see the message type */
	ide=ecan1msgBuf[message->buffer][0] & 0x0001;	
	srr=ecan1msgBuf[message->buffer][0] & 0x0002;	
	
	/* check to see what type of message it is */
	/* message is standard identifier */
	if(ide==0)
	{
		message->id=(ecan1msgBuf[message->buffer][0] & 0x1FFC) >> 2;		
		message->frame_type=CAN_FRAME_STD;
	}
	/* mesage is extended identifier */
	else
	{
		id=ecan1msgBuf[message->buffer][0] & 0x1FFC;		
		message->id=id << 16;
		id=ecan1msgBuf[message->buffer][1] & 0x0FFF;
		message->id=message->id+(id << 6);
		id=(ecan1msgBuf[message->buffer][2] & 0xFC00) >> 10;
		message->id=message->id+id;		
		message->frame_type=CAN_FRAME_EXT;
	}
	/* check to see what type of message it is */
	/* RTR message */
	if(srr==1)
	{
		message->message_type=CAN_MSG_RTR;	
	}
	/* normal message */
	else
	{
		message->message_type=CAN_MSG_DATA;
		message->data[0]=(unsigned char)ecan1msgBuf[message->buffer][3];
		message->data[1]=(unsigned char)((ecan1msgBuf[message->buffer][3] & 0xFF00) >> 8);
		message->data[2]=(unsigned char)ecan1msgBuf[message->buffer][4];
		message->data[3]=(unsigned char)((ecan1msgBuf[message->buffer][4] & 0xFF00) >> 8);
		message->data[4]=(unsigned char)ecan1msgBuf[message->buffer][5];
		message->data[5]=(unsigned char)((ecan1msgBuf[message->buffer][5] & 0xFF00) >> 8);
		message->data[6]=(unsigned char)ecan1msgBuf[message->buffer][6];
		message->data[7]=(unsigned char)((ecan1msgBuf[message->buffer][6] & 0xFF00) >> 8);
		message->data_length=(unsigned char)(ecan1msgBuf[message->buffer][2] & 0x000F);
	}	
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩欧美色综合| 欧美日韩在线播放一区| 极品瑜伽女神91| 日韩国产欧美在线播放| 亚洲国产成人91porn| 一区二区三区高清在线| 一片黄亚洲嫩模| 亚洲成av人片在线观看无码| 亚洲国产视频直播| 午夜一区二区三区在线观看| 五月综合激情日本mⅴ| 性久久久久久久| 奇米综合一区二区三区精品视频| 丝袜a∨在线一区二区三区不卡| 午夜成人免费视频| 久久精品国产成人一区二区三区| 免费成人性网站| 国产成人8x视频一区二区| 成人毛片视频在线观看| 色综合久久综合网97色综合| 欧美性猛片aaaaaaa做受| 欧美肥妇free| 国产亚洲婷婷免费| 亚洲精品中文字幕乱码三区 | 精品动漫一区二区三区在线观看| 日韩一级高清毛片| 亚洲欧美一区二区久久| 亚洲人成7777| 日韩福利电影在线观看| 国产成人综合亚洲网站| 色婷婷激情综合| 日韩精品一区二区三区中文不卡| 久久精品免费在线观看| 亚洲国产精品一区二区久久| 麻豆成人久久精品二区三区红 | 午夜精品福利一区二区蜜股av| 麻豆精品精品国产自在97香蕉| 成人夜色视频网站在线观看| 欧美私人免费视频| 久久精品一区四区| 婷婷国产在线综合| 成人不卡免费av| 日韩一级黄色片| 亚洲制服欧美中文字幕中文字幕| 狠狠色狠狠色综合| 欧美色图第一页| 中文乱码免费一区二区| 日韩avvvv在线播放| heyzo一本久久综合| 欧美一区二区高清| 亚洲欧美日韩一区二区| 国产一区二区三区精品欧美日韩一区二区三区 | 国产一区二区中文字幕| 欧美日韩午夜在线| 亚洲免费观看高清完整版在线观看熊| 理论电影国产精品| 欧美高清性hdvideosex| 亚洲精选视频在线| 99久久综合国产精品| 久久久亚洲精品石原莉奈| 视频一区在线视频| 欧美日韩一区二区在线观看| 亚洲欧美一区二区不卡| 成人app网站| 国产欧美一区二区精品秋霞影院 | 色婷婷久久99综合精品jk白丝| 久久久天堂av| 久久精品99国产精品日本| 欧美午夜精品理论片a级按摩| 一色桃子久久精品亚洲| 成人午夜在线视频| 国产欧美一区二区三区在线看蜜臀 | www..com久久爱| 中文字幕精品三区| 成人免费观看男女羞羞视频| 久久久久久久综合色一本| 久久99深爱久久99精品| 欧美电视剧在线观看完整版| 日韩中文字幕不卡| 日韩午夜中文字幕| 九九精品视频在线看| 精品美女在线观看| 国产在线不卡一区| 久久久久久久久久久99999| 国产精品中文欧美| 国产欧美日韩综合| 不卡电影免费在线播放一区| 中文字幕一区二区在线观看| 91污在线观看| 亚洲综合精品自拍| 4438x亚洲最大成人网| 免费在线观看一区| 精品国产一区二区三区不卡 | 蜜桃视频在线一区| 久久午夜老司机| 99在线精品观看| 亚洲国产精品影院| 欧美一级精品在线| 成人免费高清在线| 一区二区三区国产| 精品国产精品一区二区夜夜嗨 | 国产精品国产自产拍高清av王其| 99国产精品99久久久久久| 亚洲福中文字幕伊人影院| 日韩一区二区免费电影| 成人网页在线观看| 亚洲6080在线| 亚洲国产成人私人影院tom| 色综合久久天天综合网| 欧美96一区二区免费视频| 日本一区二区三区在线不卡 | 欧美福利视频一区| 成人黄色777网| 日日骚欧美日韩| 国产精品网站导航| 欧美一区二区三区日韩视频| 成人听书哪个软件好| 天堂成人免费av电影一区| 国产日产精品一区| 日韩欧美黄色影院| 91福利国产精品| 国产.精品.日韩.另类.中文.在线.播放| 亚洲激情在线播放| 日本一区二区三区视频视频| 欧美在线观看视频一区二区三区| 狠狠色丁香九九婷婷综合五月| 亚洲精品国产成人久久av盗摄| 精品国产精品网麻豆系列| 欧美日韩激情一区二区| va亚洲va日韩不卡在线观看| 免费精品视频最新在线| 一区二区三区在线免费播放| 国产日韩成人精品| 国产农村妇女毛片精品久久麻豆 | 精品国产一区a| 欧美日韩免费高清一区色橹橹| 成人午夜视频网站| 国产一区在线不卡| 捆绑紧缚一区二区三区视频| 亚洲一二三四在线观看| 亚洲日本va午夜在线电影| 国产拍揄自揄精品视频麻豆| 精品福利二区三区| 欧美变态tickle挠乳网站| 6080亚洲精品一区二区| 欧美精品 国产精品| 欧美日韩视频专区在线播放| 在线观看免费一区| 在线观看成人免费视频| 色综合色狠狠综合色| 色综合色狠狠天天综合色| 成人免费高清视频| 波波电影院一区二区三区| 成人精品国产免费网站| 不卡免费追剧大全电视剧网站| thepron国产精品| 91久久线看在观草草青青| 91捆绑美女网站| 欧洲中文字幕精品| 欧美老女人第四色| 欧美一区二区三区思思人| 日韩欧美视频在线| 久久久三级国产网站| 亚洲国产高清在线| 亚洲男同性视频| 亚洲成人免费视| 久久99这里只有精品| 国产乱码精品一区二区三区五月婷| 国产在线播放一区三区四| 国产成人av电影在线| 色综合天天做天天爱| 欧美日韩午夜影院| 精品国产欧美一区二区| 久久久久久97三级| 亚洲欧美偷拍三级| 日韩激情视频网站| 国产精品系列在线播放| 91美女在线视频| 日韩一区二区三区在线观看| 久久精品夜色噜噜亚洲aⅴ| 国产精品久久久久影院| 偷拍一区二区三区四区| 久久99精品久久久久久国产越南| 国产成人免费视频网站| 色哟哟亚洲精品| 欧美α欧美αv大片| 国产精品久线在线观看| 日韩成人免费看| 成人av在线一区二区| 欧美日韩国产综合一区二区三区 | 色婷婷av一区二区| 欧美一级国产精品| 亚洲丝袜另类动漫二区| 日韩电影在线观看电影| 成人aa视频在线观看| 日韩一区二区三区在线视频| 综合中文字幕亚洲| 国产精品一级在线| 欧美妇女性影城| 一区二区在线观看免费|