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

📄 readfront.c

📁 一个带CANBUS的倒车雷达源码!希望大家能用的上!
💻 C
字号:
#include "config.h"

void	ReadFront(unsigned char channel,unsigned char count)
{
  unsigned char  i , j = 250;
	unsigned  int   k;
	//INTCONbits.GIE=1;             //开禁止总中断
	TMR0L=0X00;//开始记时
	INTCONbits.TMR0IF=0;
	ClrWdt( );
	k=15;
	while(k--);
	//到此550US
	if(SEN) 
	{		
		TimeTemp[channel][count]=TMR0L;//无探头
		
//			switch( channel )
//			{
//				case 5:
//				         SensorAbnormal.Bit.FrontLeft = 1;
//				         break;
//				case 4:
//			           SensorAbnormal.Bit.FrontRight = 1;
//			           break;
//			  case 3: 
//			           SensorAbnormal.Bit.BackLeft = 1;
//			           break;
//			  case 2:
//			           SensorAbnormal.Bit.BackRight = 1;
//			           break;
//			  case 1:
//			  case 0:
//			           SensorAbnormal.Bit.BackMiddle = 1;
//			           break;
//			  default:
//			           break;			  
//	    }
		Alarm.Bit.NoSensor=1;	
		k=10; //10
		while(--k);
		if(SEN) 
		{
			TimeTemp[channel][count]=TMR0L;//无探头
			Alarm.Bit.NoSensor=1;	
		}
	}
	else Alarm.Bit.NoSensor=0;
	k=10;            //??  延时
	while(--k);
	if(Alarm.Bit.NoSensor==0)//低电平进入,有探头
	{
	    while(TMR0L<0x30)//0.4内等待高电平 0x30
    	{	
	    	TimeTemp[channel][count]=TMR0L;
	      if(SEN) 
    	  {
        	TimeTemp[channel][count]=TMR0L;	  
         	j=5;
          while(--j);//52us
          if(SEN) break;	
        } 
      }	

	 	  while(TMR0L<=0x80) //0.64M等待低电平(0x76)  0x80
		   {
			   TimeTemp[channel][count]=TMR0L;	
 	    		if( SEN == 0 )
 	  		  {
 	    		  TimeTemp[channel][count]=TMR0L;    
 	    		  j=10;
 	  		    while(--j);
 	  		    if(SEN==0) break;
 	    	  }	     
 	  	 }	

  }		
  	 
 	Alarm.Bit.NoSensor=0;
// 	TXREG=TimeTemp[channel][count]; 
 	ClrWdt( );
	while(1)  //磨时间,耗完TMR2
	{
		if(INTCONbits.TMR0IF==1) 
		{
			INTCONbits.TMR0IF=0;        //TMR2溢出中断标志位
			break;
		}
	}	
					
  ClrWdt( );	
	k = 825;
	while(--k); //磨时间,凑够25MS
}

⌨️ 快捷键说明

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