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

📄 adc_sensor.c

📁 利用zigbee进行定位的程序
💻 C
字号:
//----------------------------------------------------//
//-------Institute Of  Computing Technology-----------//
//------------Chinese Academic  Science---------------//
//-----中国科学院计算技术研究所先进测试技术实验室-----//
//----------------------------------------------------//

/**
 * www.wsn.net.cn
 * @copyright:nbicc_lpp
 * @data:2005.11.22
 * @version:0.0.1
 * @updata:$
 *
 */
#include "adc_sensor.h"
 

uint8_t  adc_init(void)
{
     { 
           os_atomic_t _nesc_atomic = os_atomic_start();
		  {
           //ADC控制寄存器中ADIE位和ADSC位清零 
                  ADCSRA &=0x86;
           //设置参考电压,配置为默认情形
                  ADMUX=0;
           	}
          os_atomic_end(_nesc_atomic);
     }
    ADC_INTERRUPT_FLAG=0;
	 
}

uint8_t  sensor_init(void)
{
  { os_atomic_t _nesc_atomic = os_atomic_start();

    {
     
      
      OS_MAKE_INT1_OUTPUT();
      OS_SET_INT1_PIN();
      //whether to configure  the INT2 pin???
    }

    os_atomic_end(_nesc_atomic); }           
          
}

void read_data_task(void)
{
  uint8_t loopnum=0;
  while (loopnum<10)
  {
  
  SENSOR_DATA_VALUE[loopnum]=0;
  { os_atomic_t _nesc_atomic = os_atomic_start();

    {
     //设置ADMUX寄存器
         ADMUX |=0x01;  
     //AD使能开始AD转换
         ADCSRA |=0xe7; 
     }

    os_atomic_end(_nesc_atomic); }       

     //查询ADCSRA中断,
  
   while(ADC_INTERRUPT_FLAG==0)
   	{    
   	      ADC_INTERRUPT_FLAG=(ADCSRA&0x10);
   	}
  
    //读取ADCH和ADCL
    
    SENSOR_DATA_VALUE[loopnum]=ADCL;
    SENSOR_DATA_VALUE[loopnum]+=(ADCH<<8);
    printf("sensor is %04x\n",SENSOR_DATA_VALUE[loopnum]);
  { os_atomic_t _nesc_atomic = os_atomic_start();

    {
     //清除ADC中断标志
          ADCSRA |=0x10;
     //关闭ADC转换使能
          //ADCSRA &=0x7f;
    	}
      os_atomic_end(_nesc_atomic); }  
	  
   //printf("sensor is %04x\n",SENSOR_DATA_VALUE);
  // SENSOR_DATA_VALUE=0;
   adc_init();
   //
   //OS_CLR_INT1_PIN();
   ADC_INTERRUPT_FLAG=0;
   //sensor_init();
loopnum++;
  } 
	 
}

⌨️ 快捷键说明

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