Ejemplo n.º 1
0
void SYS_INIT(void)
{
	LED_INIT();			//LED及串口IO 初始化
	LED_FLASH();		//LED闪烁
	Tim3_Init(500);	//中断初始化 //1000=1MS,500=0.5MS
	Moto_Init();	  //PWM
	
	//	Uart1_Init(115200);	//串口初始化,飞控上几乎无用
	
	Spi1_Init();		//SPI初始化
	Nvic_Init();		//中断初始化
	Nrf24l01_Init(MODEL_TX2,40);	//2401中断初始化  主发送 通道 40
	
// 	if(Nrf24l01_Check())	Uart1_Put_String("NRF24L01 IS OK !\r\n");			//检测2401是否初始化成功
// 	else 									Uart1_Put_String("NRF24L01 IS NOT OK !\r\n");
	
	InitMPU6050();
	
	ADC1_Init();		//检测电池电压
	FLASH_Unlock();	//保存飞飞控参数
	EE_INIT();
	EE_READ_ACC_OFFSET();
	EE_READ_GYRO_OFFSET();
	EE_READ_PID();
	
	PID_ROL.P = PID_PIT.P = 5;	//用于初始化pid,如用匿名上位机写入pid,则屏蔽
	PID_ROL.D = PID_PIT.D = 0.1;			
	PID_YAW.P = 0.5;	
	PID_YAW.D = 0.05;			
}
Ejemplo n.º 2
0
void Init_ADC() {
  AD1PCFG = 0xFFFF;
  PCFG12_bit = 0;
  PCFG13_bit = 0;
  // PMP setup
  ADC1_Init();
}
Ejemplo n.º 3
0
/*
 * 函数名:BSP_Init
 * 描述  :时钟初始化、硬件初始化
 * 输入  :无
 * 输出  :无
 */
void BSP_Init(void)
{
    SysTick_init();
    switch (RCC_GetSYSCLKSource())
    {
    case 0x00 :
        printf("\r\n HSI used as system clock.\r\n");
        break;
    case 0x04 :
        printf("\r\n HSE used as system clock.\r\n");
        break;
    case 0x08 :
        printf("\r\n PLL used as system clock.\r\n");
        break;

    default:
        printf("\r\n * unkonwn clock soure. *");
        break;
    }

    /* LED 端口初始化 */
    LED_GPIO_Config();
    //EXTI_Cfg();

    USART1_Config();
    ADC1_Init();
    //DAC_Config();
    //RTC_Configuration();

    //SoftTimerInit();

    //NVIC_Configuration();

}
Ejemplo n.º 4
0
void SYS_INIT(void)
{
	LED_INIT();
	LED_FLASH();
	Moto_Init(); 
	LED_FLASH();	
	
	Tim3_Init(500);
	Nvic_Init();
	Uart1_Init(115200);
	
	ANO_TC_I2C2_INIT(0xA6,400000,1,1,3,3);
	MPU6050_Init();

	Spi1_Init();
	Nrf24l01_Init(MODEL_TX2,40);
 	if(Nrf24l01_Check())
		Uart1_Put_String("NRF24L01 IS OK !\r\n");
 	else 									
		Uart1_Put_String("NRF24L01 IS NOT OK !\r\n");
		
	ADC1_Init();
	
	FLASH_Unlock();
	EE_INIT();
	EE_READ_ACC_OFFSET();
	EE_READ_GYRO_OFFSET();
	EE_READ_PID();
	
	Tim3_Control(1);
}
Ejemplo n.º 5
0
void TaskPlan(void *Tags)
{
	static float CHValue[2];
	ADC1_Init((uintbus)&UIShowValue.ADC[0]);
	ISL1208_Init((void *)IO_ISL1208_P);
	Sensor_Init();
	Tos_TaskDelay(3000);
	ISL1208_GetDateTime(&UIShowValue.DateTime);	
	DS_Read_Value(&UIShowValue.CH_Value[0],&UIShowValue.CH_Value[1]);
	DS_Read_Value(&UIShowValue.CH_Value[0],&UIShowValue.CH_Value[1]);
	UIShowValue.RecordCount=Get_PrintfRecordCount();
	while(1)
	{
		ISL1208_GetDateTime(&UIShowValue.DateTime);	
		Tos_TaskDelay(500);
		DS_Read_Value(&CHValue[0],&CHValue[1]);
		UIShowValue.CH_Value[0]=UIShowValue.SaveValue.CorrectValue[0]+CHValue[0];
		UIShowValue.CH_Value[1]=UIShowValue.SaveValue.CorrectValue[1]+CHValue[1];
		if(0)UIShowValue.CH_Value[1]=UIShowValue.SaveValue.CorrectValue[1]+CHValue[1]+(CHValue[0]-(int)CHValue[0]);//¸ßʪ¶È¼ÓÌø±ä
		if(1)
		{
			if(UIShowValue.CH_Value[0]>=UIShowValue.SaveValue.CH_Limit[0].Max)UIShowValue.CH_Value[0]=(UIShowValue.SaveValue.CH_Limit[0].Max*0.98+UIShowValue.CH_Value[0]*0.01);
			if(UIShowValue.CH_Value[0]<=UIShowValue.SaveValue.CH_Limit[0].Min)UIShowValue.CH_Value[0]=(UIShowValue.SaveValue.CH_Limit[0].Min+UIShowValue.CH_Value[0]*0.01);
			if(UIShowValue.CH_Value[1]>=UIShowValue.SaveValue.CH_Limit[1].Max)UIShowValue.CH_Value[1]=(UIShowValue.SaveValue.CH_Limit[1].Max*0.98+UIShowValue.CH_Value[1]*0.01);
			if(UIShowValue.CH_Value[1]<=UIShowValue.SaveValue.CH_Limit[1].Min)UIShowValue.CH_Value[1]=(UIShowValue.SaveValue.CH_Limit[1].Min+UIShowValue.CH_Value[1]*0.01);
		}
		Task_Plan();
		if(UIShowValue.SaveValue.WorkBit&WCB_RecordEN)Task_Record();
		if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_4))UIShowValue.RunFlag|=WRF_USB_Connected;else UIShowValue.RunFlag&=~WRF_USB_Connected;
		if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_5))UIShowValue.RunFlag|=WRF_EXP_Connected;else UIShowValue.RunFlag&=~WRF_EXP_Connected;
	}
}
Ejemplo n.º 6
0
void ADC_Test(void)
{
  // 局部变量,用于保存转换计算后的电压值 	 
  float ADC_ConvertedValueLocal; 
	
		#ifdef LCD_DISPLAY
			uint8_t lcd_char[20];
		#endif
  
  /* enable adc1 and config adc1 to dma mode */
	ADC1_Init();
	
	printf("\r\n ----这是一个ADC实验(DMA传输)----\r\n");
	
	while (1)
	{
		ADC_ConvertedValueLocal =(float) ADC_ConvertedValue/4096*3.3; // 读取转换的AD值
	
		printf("\r\n The current AD value = 0x%04X \r\n", ADC_ConvertedValue); 
		printf("\r\n The current AD value = %f V \r\n",ADC_ConvertedValueLocal); 
		
		#ifdef LCD_DISPLAY
			sprintf(lcd_char,"电压值:%f V",ADC_ConvertedValueLocal);
			LCD_DispEnCh(20,150,lcd_char,BLUE);		

		#endif
		
		ADC_Delay(0x4fffee);  
	}
}
Ejemplo n.º 7
0
//-----------------------------------------------------------------//
//	Setup ADC
//	ADC_CLK = 4 MHz
//	ADC single conversion time is ADC_StartDelay +
//		(29 to 36 ADC clock cycles depending on ADC_DelayGo)
//	ADC clock = 4MHz / 128 = 31.250kHz (T = 32uS)
//-----------------------------------------------------------------//
void HW_ADCInit(void)
{
    ADC_InitTypeDef sADC;
    ADCx_InitTypeDef sADCx;

    // ADC Configuration
    // Reset all ADC settings
    ADC_DeInit();
    ADC_StructInit(&sADC);

    sADC.ADC_SynchronousMode      = ADC_SyncMode_Independent;
    sADC.ADC_StartDelay           = 10;
    sADC.ADC_TempSensor           = ADC_TEMP_SENSOR_Enable;
    sADC.ADC_TempSensorAmplifier  = ADC_TEMP_SENSOR_AMPLIFIER_Enable;
    sADC.ADC_TempSensorConversion = ADC_TEMP_SENSOR_CONVERSION_Enable;
    sADC.ADC_IntVRefConversion    = ADC_VREF_CONVERSION_Enable;
    sADC.ADC_IntVRefTrimming      = 1;
    ADC_Init (&sADC);

    // ADC1 Configuration
    ADCx_StructInit (&sADCx);
    sADCx.ADC_ClockSource      = ADC_CLOCK_SOURCE_ADC;
    sADCx.ADC_SamplingMode     = ADC_SAMPLING_MODE_SINGLE_CONV;
    sADCx.ADC_ChannelSwitching = ADC_CH_SWITCHING_Disable;
    sADCx.ADC_ChannelNumber    = ADC_CH_TEMP_SENSOR;
    sADCx.ADC_Channels         = 0;
    sADCx.ADC_LevelControl     = ADC_LEVEL_CONTROL_Disable;
    sADCx.ADC_LowLevel         = 0;
    sADCx.ADC_HighLevel        = 0;
    sADCx.ADC_VRefSource       = ADC_VREF_SOURCE_EXTERNAL;
    sADCx.ADC_IntVRefSource    = ADC_INT_VREF_SOURCE_EXACT;
    sADCx.ADC_Prescaler        = ADC_CLK_div_128;
    sADCx.ADC_DelayGo          = 0;		// CHECKME
    ADC1_Init (&sADCx);
    ADC2_Init (&sADCx);

    // Disable ADC interupts
    ADC1_ITConfig((ADCx_IT_END_OF_CONVERSION  | ADCx_IT_OUT_OF_RANGE), DISABLE);
    ADC2_ITConfig((ADCx_IT_END_OF_CONVERSION  | ADCx_IT_OUT_OF_RANGE), DISABLE);

    // ADC1 enable
    ADC1_Cmd (ENABLE);
    ADC2_Cmd (ENABLE);


    //-------------------//
    /*	ADC1_SetChannel(ADC_CH_TEMP_SENSOR);
    	ADC1_Start();
    	while( ADC_GetFlagStatus(ADC1_FLAG_END_OF_CONVERSION)==RESET );
      temp_adc = ADC1_GetResult();

    	ADC1_Start();
    	while( ADC_GetFlagStatus(ADC1_FLAG_END_OF_CONVERSION)==RESET );
      temp_adc = ADC1_GetResult();

    	temp_adc = temp_adc;
    	*/

}
Ejemplo n.º 8
0
/**
 *  ADC HW init
 *
 * @return void
 */
static void adc_hw_init(void)
{
    ADC1_DeInit();

    ADC1_Init(ADC_CHANNEL, ADC_PRESCALER);

    ADC1_Cmd(ENABLE);
}
Ejemplo n.º 9
0
void ADC1_Config()
{
  ADC1_DeInit();

#ifdef EN_SENSOR_MIC
  ADC1_Init(ADC1_CONVERSIONMODE_CONTINUOUS, ADC1_CHANNEL_1, ADC1_PRESSEL_FCPU_D4,
            ADC1_EXTTRIG_TIM, DISABLE, ADC1_ALIGN_RIGHT, ADC1_SCHMITTTRIG_CHANNEL1, DISABLE);
  ADC1_ScanModeCmd(ENABLE);
#else  
  ADC1_Init(ADC1_CONVERSIONMODE_CONTINUOUS, ADC1_CHANNEL_0, ADC1_PRESSEL_FCPU_D4,
            ADC1_EXTTRIG_TIM, DISABLE, ADC1_ALIGN_RIGHT, ADC1_SCHMITTTRIG_CHANNEL0, DISABLE);
  ADC1_Cmd(ENABLE);
#endif
  
  //ADC1_ITConfig(ADC1_IT_AWS0, ENABLE);
  
  ADC1_StartConversion();
}
Ejemplo n.º 10
0
/**
 * @brief  Main program.
 * @param  None
 * @retval None
 */
void main ( void )
{
	ClockConfigure();

#if defined (_USE_DEBUG_UART_)
	DebugUARTInit();
#endif /* #if defined (_USE_DEBUG_UART_) */

	/* ADC Configuration */
	/* Reset all ADC settings */
	ADC_DeInit();
	DEBUG_PRINTF("ADC Init...");
	// Inti clock ADC
	RST_CLK_ADCclkSelection(RST_CLK_ADCclkCPU_C1);
	RST_CLK_ADCclkPrescaler(RST_CLK_ADCclkDIV2);
	// Enable clock ADC
	RST_CLK_ADCclkEnable(ENABLE);
	RST_CLK_PCLKcmd(RST_CLK_PCLK_ADC, ENABLE);
	ADC_StructInit(&sADC);

	sADC.ADC_StartDelay = 0;
	sADC.ADC_TempSensor = ADC_TEMP_SENSOR_Enable;
	sADC.ADC_TempSensorAmplifier = ADC_TEMP_SENSOR_AMPLIFIER_Enable;
	sADC.ADC_TempSensorConversion = ADC_TEMP_SENSOR_CONVERSION_Enable;
	sADC.ADC_IntVRefConversion = ADC_VREF_CONVERSION_Disable;
	sADC.ADC_IntVRefTrimming = 1;
	ADC_Init(&sADC);

	/* ADC1 Configuration */
	ADCx_StructInit(&sADCx);
	sADCx.ADC_ClockSource = ADC_CLOCK_SOURCE_CPU;
	sADCx.ADC_SamplingMode = ADC_SAMPLING_MODE_CICLIC_CONV;
	sADCx.ADC_ChannelSwitching = ADC_CH_SWITCHING_Disable;
	sADCx.ADC_ChannelNumber = ADC_CH_TEMP_SENSOR;
	sADCx.ADC_Channels = 0;
	sADCx.ADC_LevelControl = ADC_LEVEL_CONTROL_Disable;
	sADCx.ADC_LowLevel = 0;
	sADCx.ADC_HighLevel = 0;
	sADCx.ADC_VRefSource = ADC_VREF_SOURCE_INTERNAL;
	sADCx.ADC_IntVRefSource = ADC_INT_VREF_SOURCE_INEXACT;
	sADCx.ADC_Prescaler = ADC_CLK_div_512;
	sADCx.ADC_DelayGo = 7;
	ADC1_Init(&sADCx);

	/* Enable ADC1 EOCIF and AWOIFEN interupts */
	ADC1_ITConfig(ADCx_IT_END_OF_CONVERSION, ENABLE);
	/* Enable ADC IRQ */
	NVIC_EnableIRQ(ADC_IRQn);

	DEBUG_PRINTF("Ok\r\n");

	/* ADC1 enable */
	ADC1_Cmd(ENABLE);

	while (1);
}
Ejemplo n.º 11
0
/*
 * 函数名:BSP
 * 描述  :时钟初始化、硬件初始化
 */
 void BSP_Init(void)
{
 	SystemInit();					/* 配置系统时钟为72MHz */
	SysTick_Init();					/* 初始化并使能SysTick定时器 */
	LED_GPIO_config();				/* LED端口初始化 */
	USART1_Inter_Config();			/* 串口-中断 */
	LEDDIS_GPIO_Configuration();	/* 数码管 */
	ADC1_Init();					/* ADC1 */
	EXTI_PA0_Config();				/* 按键0-中断0 */
	I2C_EE_Init();					/* EEPROM */
}
Ejemplo n.º 12
0
void MCU_Init(void)
{
	RCC_Configuration();
	NVIC_Configuration();
	GPIO_Configuration();
	//TIM2_Configuration();
	SysTick_Init();
	SpiInit();
	USART_Config();
	ADC1_Init();
//	IWDG_Configuration();
}	
Ejemplo n.º 13
0
Archivo: main.c Proyecto: kenziD/ANO
int main(void)
{
    int dianya_fly = 0;
    SysTick_Init();
    Tim3_Init(500);
    Nvic_Init();
    LED_Init();
    ADC1_Init();
    USART1_Config(115200);
    KEY_Init();
    NRF24L01_Init();
    while (NRF24L01_Check())	//检查NRF24L01是否在位.要放在设置TX_MODE之前,否则设置的发送地址会变成check中的0XA5 ,将与原接收地址对不上
    {
        LED2_ON;
        LED1_OFF;
        printf("no");
    }
    LED1_ON;
    LED2_OFF;
    //TX mode
    //NRF24L01_TX_Mode();
    //NRF24L01_Mode_Config(2);

    //RX mode
    NRF24L01_Mode_Config(3);
    while (1)
    {
        key = KEY_scan();


        if (NRF24L01_RxPacket(tmp_buf) == 0)
        {
            NRF24L01_TxPacket_AP(rc_buf);
            LED1_ON;
            if(tmp_buf[0]==0x88 && tmp_buf[1]==0xAE && tmp_buf[2]==0x1C)
            {
                dianya_fly = tmp_buf[17]<<8|tmp_buf[18];
                if(dianya_fly<36 && dianya_fly>20)
                {
                    LED2_ON;
                }
            }
            send_wave(32,tmp_buf);
        }
        else
        {
            LED1_OFF;
        }
    }
}
Ejemplo n.º 14
0
void InitModules()
{
    OLED_Init();
    OLED_DrawImage( &methane_bmp, 0, 0 );

    OLED_SetFont( guiFont_Tahoma_8_Regular, OLED_COLOR_BLACK, 0 );
    OLED_WriteText( ppmText, 25, 75 );

    /** initialize ADC */
    ADC1_Init();

    /** pause for 100ms for ADC module stabilization */
    Delay_ms(100);
}
Ejemplo n.º 15
0
/*
    Configure ADC1 Continuous Conversion with End Of Conversion interrupt enabled .
  */
void InitADC()
{
  /* De-Init ADC1 peripheral */
  ADC1_DeInit();
    
  /* Enable EOC interrupt */
  ADC1_ITConfig(ADC1_IT_EOCIE, ENABLE);
    
  /* Enable conversion data buffering */
  ADC1_DataBufferCmd(ENABLE);
    
  /* Enable scan mode conversion */
  ADC1_ScanModeCmd(ENABLE);

  /* Init ADC1 peripheral */
  /* ADC1 Channel 3 */
  ADC1_Init(ADC1_CONVERSIONMODE_CONTINUOUS, REF_2V5_ANALOG, ADC1_PRESSEL_FCPU_D4, \
            ADC1_EXTTRIG_TIM, DISABLE, ADC1_ALIGN_RIGHT, ADC1_SCHMITTTRIG_CHANNEL3,\
            DISABLE);
                        
  /* ADC1 Channel 4 */
  ADC1_Init(ADC1_CONVERSIONMODE_CONTINUOUS, L9110_U3_DRAW, ADC1_PRESSEL_FCPU_D4, \
            ADC1_EXTTRIG_TIM, DISABLE, ADC1_ALIGN_RIGHT, ADC1_SCHMITTTRIG_CHANNEL4,\
            DISABLE);
                        
  /* ADC1 Channel 5 */
  ADC1_Init(ADC1_CONVERSIONMODE_CONTINUOUS, L9110_U4_DRAW, ADC1_PRESSEL_FCPU_D4, \
            ADC1_EXTTRIG_TIM, DISABLE, ADC1_ALIGN_RIGHT, ADC1_SCHMITTTRIG_CHANNEL5,\
            DISABLE);
                        
  /* ADC1 Channel 6 */
  ADC1_Init(ADC1_CONVERSIONMODE_CONTINUOUS, L9110_U5_DRAW, ADC1_PRESSEL_FCPU_D4, \
            ADC1_EXTTRIG_TIM, DISABLE, ADC1_ALIGN_RIGHT, ADC1_SCHMITTTRIG_CHANNEL6,\
            DISABLE);
  
  ADC1_Cmd(ENABLE);
}
Ejemplo n.º 16
0
void IAC_Init(void)
{
	 delay_init(72);
	 MCO_INIT();
	 Nvic_Init(); 
   LED_GPIO_Config();	
   I2C_INIT();
	 delay(0XFFF);
	 TIM3_Init(2500);
	 usart1_config();
	 ADC1_Init();	
	 NRF24L01_Init();
   Moto_Init();	
	 LED_SHOW();
	 FLASH_Unlock();
	 EE_Init();
}
void Screen_init(void)
{
   PenColor=1;
   shape=0;
   painted=0;
   TFT_Set_Default_Mode();
   //TFT_Init_ILI9341_8bit(240,320);
   TFT_Init_ILI9341_8bit(320,240);
   ADC_Set_Input_Channel(_ADC_CHANNEL_8 | _ADC_CHANNEL_9);
   ADC1_Init();
   TP_TFT_Init(320, 240, 8, 9);
   TP_TFT_Set_ADC_Threshold(600);
   TFT_Fill_Screen(colors[14]);
   TP_TFT_Calibrate_Min();
   Delay_ms(500);
   TP_TFT_Calibrate_Max();
}
Ejemplo n.º 18
0
/********************************************************************************
* adc_init																		*
********************************************************************************/
void adc_channel_init(void){
	//io init
	GPIO_Init(IDSG_PORT, IDSG_PIN, GPIO_MODE_IN_FL_NO_IT);
	GPIO_Init(ICHG_PORT, ICHG_PIN, GPIO_MODE_IN_FL_NO_IT);
	GPIO_Init(VBAT_PORT, VBAT_PIN, GPIO_MODE_IN_FL_NO_IT);
	GPIO_Init(THS1_PORT, THS1_PIN, GPIO_MODE_IN_FL_NO_IT);
	//io init
	GPIO_Init(THS2_PORT, THS2_PIN, GPIO_MODE_IN_FL_NO_IT);

	ADC1_Init(ADC1_CONVERSIONMODE_SINGLE, ADC1_CHANNEL_0, ADC1_PRESSEL_FCPU_D18,
			  ADC1_EXTTRIG_GPIO, DISABLE, ADC1_ALIGN_RIGHT, ADC1_SCHMITTTRIG_CHANNEL5,
			  DISABLE); //ADC1_CONVERSIONMODE_SINGLE
	ADC1_ScanModeCmd(ENABLE);
	//ADC1_ScanModeCmd(DISABLE);
    
    adc_scan_times_flag = 0;

    
}
Ejemplo n.º 19
0
/**
  * @brief  Main program.
  * @param  None
  * @retval None
  */
int main(void)
{
  /*!< At this stage the microcontroller clock setting is already configured, 
       this is done through SystemInit() function which is called from startup
       file (startup_stm32f10x_xx.s) before to branch to application main.
       To reconfigure the default setting of SystemInit() function, refer to
       system_stm32f10x.c file
     */   
	u32 i = 0;
	IWDG_Init();
	
	EN_GPIO_Init();
	Relay_Status_No_Init();
	Signal_Relay_OFF();
	LED_OFF(LED_A_1_G_Group ,LED_A_1_G );
	LED_OFF(LED_B_1_G_Group ,LED_B_1_G );
	LED_OFF(LED_B_2_G_Group ,LED_B_2_G );
	LED_OFF(LED_A_2_G_Group ,LED_A_2_G );
	LED_OFF(LED_A_1_R_Group ,LED_A_1_R );
	LED_OFF(LED_B_1_R_Group ,LED_B_1_R );
	LED_OFF(LED_B_2_R_Group ,LED_B_2_R );
	LED_OFF(LED_A_2_R_Group ,LED_A_2_R );
	LED_OFF(LED_NS_Group ,LED_NS  );
	LED_OFF(LED_ER_Group ,LED_ER );
	Timer2_Init();
	ADC1_Init();
	uart_init(115200);
  IWDG_ReloadCounter(); 
  while (1)
  {
    IWDG_ReloadCounter(); 
		Power12V_Check();
		Voltage_Check();
		Status_Process();
		if( t1s_SW_counter < 500 )
		{
			t1s_SW_counter = 501;
			IWDG_ReloadCounter();
			SW_Status_Check();
		}
  }
}
Ejemplo n.º 20
0
	/**
  * @brief  Initializes the ADC. 
	* ADC conversion mode: continious, EOC interrupt enabled
  * @retval : None
  */
	void pot_init(void){
		 /*  Init GPIO for ADC7 */
		GPIO_Init(GPIOB, GPIO_PIN_7, GPIO_MODE_IN_FL_NO_IT);
		
		/* De-Init ADC peripheral*/
		ADC1_DeInit();
	
		/* Init ADC1 peripheral */
		ADC1_Init(ADC1_CONVERSIONMODE_CONTINUOUS, ADC1_CHANNEL_7, ADC1_PRESSEL_FCPU_D18, \
							ADC1_EXTTRIG_TIM, DISABLE, ADC1_ALIGN_RIGHT, ADC1_SCHMITTTRIG_CHANNEL7,\
							DISABLE);	
	
		/* Enable EOC interrupt */
		ADC1_ITConfig(ADC1_IT_EOCIE,ENABLE);
	
		/* Enable general interrupts */  
		enableInterrupts();
		
		/*Start Conversion */
		ADC1_StartConversion();
		
	}
Ejemplo n.º 21
0
void TaskPlan(void *Tags)
{
	static float CHValue[2];
	ADC1_Init((uintbus)&UIShowValue.ADC[0]);
	Sensor_Init();
	ISL1208_Init((void *)IO_ISL1208_P);
	DS_Read_Value(&UIShowValue.CH_Value[0],&UIShowValue.CH_Value[1]);
	Tos_TaskDelay(1000);
	DS_Read_Value(&UIShowValue.CH_Value[0],&UIShowValue.CH_Value[1]);
	UIShowValue.RecordCount=Get_PrintfRecordCount();
	while(1)
	{
		ISL1208_GetDateTime(&UIShowValue.DateTime);	
		//DeBug("20%02d-%02d-%02d %02d:%02d",UIShowValue.DateTime.Year,UIShowValue.DateTime.Mon,UIShowValue.DateTime.Day,UIShowValue.DateTime.Hour,UIShowValue.DateTime.Min,0);
		Tos_TaskDelay(500);
		DS_Read_Value(&CHValue[0],&CHValue[1]);
		UIShowValue.CH_Value[0]=UIShowValue.SaveValue.CorrectValue[0]+CHValue[0];
		UIShowValue.CH_Value[1]=UIShowValue.SaveValue.CorrectValue[1]+CHValue[1];
		if(UIShowValue.SaveValue.WorkBit&WCB_RecordEN)Task_Record();
		Task_Plan();
	}
}
Ejemplo n.º 22
0
void ANO_Remoter_board_Init(void)
{
	u8 data[32]={0};u8 ack[32]={0};
	//中断优先级组别设置
	NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
	
	//初始化系统滴答定时器
	SysTick_Config(SystemCoreClock / 1000);	
	LED_INIT();
	//初始化模拟I2C
	ANO_I2C_Soft::Init();	
	
	//初始化串口1
	Uart1_Init(115200);
	
	//初始化SPI2
	ANO_SPI2::Init();	

	while(nrf.Check()==false);
	//初始化NRF
	nrf.Init(MODEL_RX2,40);
//while(1)
//{
//	//memset(data,0,sizeof(data));
//	data[0]=0x31;data[1]=0x32;data[2]=0x33;
//	nrf.NRF_Tx_Dat(data,ack);
//	nrf.delayms(50);
//}
	//初始化ADC采样
	ADC1_Init();
	
	//解锁flash
	FLASH_Unlock();	
	//初始化虚拟eeprom设置
	EE_Init();	
	
}
Ejemplo n.º 23
0
/**
  * @brief  Description 外设初始化
  * @param  None
  * @retval None
  */
void PeripheralInit(void)
{
	RCC_Config();
	
	SysTick_Init();
	
    TIM2_Configuration();
    
	LED_GPIO_Config();
	KEY_GPIO_Config();
	EXTI15_10_Config();
	
	General_GPIO_Config();
	
	LCD_GLASS_Init();
	
	USART1_Config(115200);
    
//	Delay_ms(10);   //开启滴答定时
	LCD_GLASS_Clear();
	
	AVCC1_POWER(OFF);    //关ADC1电源
    BATTEST_POWER(OFF);  //关电池电压检测电源
	MODEL_PWRCTRL(ON);	//开对外接口电源
	ADC1_Init();
    
    /* 8M串行flash W25Q64初始化 */
	SPI_FLASH_Init();
	
	I2C_GPIO_Config();
    
    //rtc  初始化
    rtc_init();
    
    
}
Ejemplo n.º 24
0
/**
  * @brief  串口打印输出
  * @param  None
  * @retval None
  */
int main(void)
{
	uint8_t data[64],BrailleDots[40],InPacket[2];
	uint32_t i=0,ret=0,voltemp;
/************************系统初始化函数*****************************/
	Set_System();//系统时钟初始化
	power_initial(); //电源控制管脚初始化
	USART_Configuration();//串口1初始化
  GP_initial();        //MCU串口初始化
	blooth_initial();    //蓝牙串口初始化
	delay_init();        //延时函数初始化
	NVIC_Configuration(); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
	OLED_Init();			//初始化OLED     
	ADC1_Init();      //初始化ADC1
	//USB初始化
	USB_Interrupts_Config();
	Set_USBClock();
	USB_Init();
	        
/*******************************************************************/
	Board_ON();//板载自锁供电
	Blooth_Down();  //初始化关闭蓝牙
	GP_Down();      //初始化关闭51单片机
	IDrive_Down();  //初始化关闭恒流源
	 OLED_Clear();	 //刷新
		 // OLED_ShowString(0,0, "DAISY IS HOT");  //字符串显示
	 OLED_ShowString(0,0, "Welcome to BD");
	 OLED_ShowString(0,2, "Starting...");
	delay_ms(1000);
	EXTI_PD2_Config(); //KEY外部中断检测
	EXTI_PD3_Config(); //关机检测
	//printf("\x0c\0");printf("\x0c\0");//超级终端清屏
	//printf("\033[1;40;32m");//设置超级终端背景为黑色,字符为绿色
  //开机测试
	printf("\r\n*******************************************************************************");
	printf("\r\n************************ Copyright 2009-2012, ViewTool ************************");
	printf("\r\n*************************** http://www.viewtool.com ***************************");
	printf("\r\n***************************** All Rights Reserved *****************************");
	printf("\r\n*******************************************************************************");
	printf("\r\n");
  /*****************OLED显示*******************/
		
		 delay_ms(3000);
		 OLED_Clear();	 //刷新
		 OLED_ShowString(0,0,"DISCHARGING...");  
		 delay_ms(3000);
		 //OLED_DrawBMP(0,0,128,8,gImage_daisy);
		 //delay_ms(3000);
	//	 blooth_printf(USART2,"blooth is OK");
		//GP_printf
			 OLED_Clear();
	/***********************************************/
 // GPIO_SetBits(GPIOE,GPIO_Pin_3);
	while(1)
	{
		
/******************USB消息轮询*********************/
		USBDataGet(data,BrailleDots,InPacket);
	
	/****************************************************/	
	  if(GPIO_ReadInputDataBit(GPIOD,GPIO_Pin_12))
			OLED_ShowString(0,0,"DISCHARGING");
		else
			OLED_ShowString(0,0,"CHARGING");
	/***************电池电压检测******************/
    	ADC_ConvertedValueLocal =(float) ADC_ConvertedValue[1]/2048*3.3*1.07; // 读取转换的AD值、
			printf("\r\n The PC4 current AD value = 0x%04X \r\n", ADC_ConvertedValue); 
	   	printf("\r\n The PC4 current AD value = %f V \r\n",ADC_ConvertedValueLocal); 	
      OLED_ShowString(0,4,"ICPOWER=");
	    voltemp=ADC_ConvertedValueLocal*1000;
	    OLED_ShowNum(64,4,voltemp,4,16);
	    OLED_ShowString(100,4,"mv");
	    ADC_ConvertedValueLocal =(float) ADC_ConvertedValue[0]/2048*3.3*1.08;// 读取转换的AD值、
			printf("\r\n The PC5 current AD value = 0x%04X \r\n", ADC_ConvertedValue); 
	   	printf("\r\n The PC5 current AD value = %f V \r\n",ADC_ConvertedValueLocal); 
		  OLED_ShowString(0,6,"SYSPOWER=");
	    voltemp=ADC_ConvertedValueLocal*1000;
	    OLED_ShowNum(72,6,voltemp,4,16);
	    OLED_ShowString(108,6,"mv");
/****************************************************************/	
	/**********************蓝牙打印测试***********************/
	   blooth_printf(USART2,"\r\nblooth is ok!\r\n");
	   GP_printf(USART3,"\r\nMCU Connect\r\n");
/****************************************************************/	
//	 IDrive_ON();
//		  printf("\r\nIC on");
		  Delay(0x0FFFEF);
		  Delay(0x0FFFEF);
		  Delay(0x0FFFEF);
		  Delay(0x0FFFEF);
		  Delay(0x0FFFEF);
		  Delay(0x0FFFEF);
//		  IDrive_Down();
			
//		  printf("\r\nIC down");
		  Delay(0x0FFFEF);
		  Delay(0x0FFFEF);
			Delay(0x0FFFEF);
		  Delay(0x0FFFEF);
		  Delay(0x0FFFEF);
		  Delay(0x0FFFEF);	
			//GPIO_ResetBits(GPIOB,GPIO_Pin_13);
	
	
		
			/*****************复位*********************/
		 
	}
}
void Init_ADC() {
  AD1PCFGL = 0xCFFF;
  AD1PCFGH = 0xCFFF;
  ADC1_Init();
}
Ejemplo n.º 26
0
void Peripherals_Init(void)
{
#ifdef NVIC_AUTOINIT
  NVIC_Init();
#endif /* NVIC_AUTOINIT */
#ifdef SIM_AUTOINIT
  SIM_Init();
#endif /* SIM_AUTOINIT */

#ifdef MCM_AUTOINIT
  MCM_Init();
#endif /* MCM_AUTOINIT */
#ifdef PMC_AUTOINIT
  PMC_Init();
#endif /* PMC_AUTOINIT */
#ifdef PORTA_AUTOINIT
  PORTA_Init();
#endif /* PORTA_AUTOINIT */
#ifdef PORTB_AUTOINIT
  PORTB_Init();
#endif /* PORTB_AUTOINIT */
#ifdef PORTC_AUTOINIT
  PORTC_Init();
#endif /* PORTC_AUTOINIT */
#ifdef PORTD_AUTOINIT
  PORTD_Init();
#endif /* PORTD_AUTOINIT */
#ifdef PORTE_AUTOINIT
  PORTE_Init();
#endif /* PORTE_AUTOINIT */

#ifdef ADC0_AUTOINIT
  ADC0_Init();
#endif /* ADC0_AUTOINIT */
#ifdef ADC1_AUTOINIT
  ADC1_Init();
#endif /* ADC1_AUTOINIT */
#ifdef AIPS0_AUTOINIT
  AIPS0_Init();
#endif /* AIPS0_AUTOINIT */
#ifdef AIPS1_AUTOINIT
  AIPS1_Init();
#endif /* AIPS1_AUTOINIT */
#ifdef AXBS_AUTOINIT
  AXBS_Init();
#endif /* AXBS_AUTOINIT */
#ifdef CAN0_AUTOINIT
  CAN0_Init();
#endif /* CAN0_AUTOINIT */
#ifdef CMP0_AUTOINIT
  CMP0_Init();
#endif /* CMP0_AUTOINIT */
#ifdef CMP1_AUTOINIT
  CMP1_Init();
#endif /* CMP1_AUTOINIT */
#ifdef CMP2_AUTOINIT
  CMP2_Init();
#endif /* CMP2_AUTOINIT */
#ifdef CMT_AUTOINIT
  CMT_Init();
#endif /* CMT_AUTOINIT */
#ifdef CRC_AUTOINIT
  CRC_Init();
#endif /* CRC_AUTOINIT */
#ifdef DAC0_AUTOINIT
  DAC0_Init();
#endif /* DAC0_AUTOINIT */
#ifdef DMAMUX_AUTOINIT
  DMAMUX_Init();
#endif /* DMAMUX_AUTOINIT */
#ifdef DMA_AUTOINIT
  DMA_Init();
#endif /* DMA_AUTOINIT */
#ifdef ENET_AUTOINIT
  ENET_Init();
#endif /* ENET_AUTOINIT */
#ifdef EWM_AUTOINIT
  EWM_Init();
#endif /* EWM_AUTOINIT */
#ifdef FB_AUTOINIT
  FB_Init();
#endif /* FB_AUTOINIT */
#ifdef FMC_AUTOINIT
  FMC_Init();
#endif /* FMC_AUTOINIT */
#ifdef FTFE_AUTOINIT
  FTFE_Init();
#endif /* FTFE_AUTOINIT */
#ifdef FTM0_AUTOINIT
  FTM0_Init();
#endif /* FTM0_AUTOINIT */
#ifdef FTM1_AUTOINIT
  FTM1_Init();
#endif /* FTM1_AUTOINIT */
#ifdef FTM2_AUTOINIT
  FTM2_Init();
#endif /* FTM2_AUTOINIT */
#ifdef FTM3_AUTOINIT
  FTM3_Init();
#endif /* FTM3_AUTOINIT */
#ifdef I2C0_AUTOINIT
  I2C0_Init();
#endif /* I2C0_AUTOINIT */
#ifdef I2C1_AUTOINIT
  I2C1_Init();
#endif /* I2C1_AUTOINIT */
#ifdef I2C2_AUTOINIT
  I2C2_Init();
#endif /* I2C2_AUTOINIT */
#ifdef I2S0_AUTOINIT
  I2S0_Init();
#endif /* I2S0_AUTOINIT */
#ifdef LLWU_AUTOINIT
  LLWU_Init();
#endif /* LLWU_AUTOINIT */
#ifdef LPTMR0_AUTOINIT
  LPTMR0_Init();
#endif /* LPTMR0_AUTOINIT */
#ifdef MPU_AUTOINIT
  MPU_Init();
#endif /* MPU_AUTOINIT */
#ifdef PDB0_AUTOINIT
  PDB0_Init();
#endif /* PDB0_AUTOINIT */
#ifdef PIT_AUTOINIT
  PIT_Init();
#endif /* PIT_AUTOINIT */
#ifdef PTA_AUTOINIT
  PTA_Init();
#endif /* PTA_AUTOINIT */
#ifdef PTB_AUTOINIT
  PTB_Init();
#endif /* PTB_AUTOINIT */
#ifdef PTC_AUTOINIT
  PTC_Init();
#endif /* PTC_AUTOINIT */
#ifdef PTD_AUTOINIT
  PTD_Init();
#endif /* PTD_AUTOINIT */
#ifdef PTE_AUTOINIT
  PTE_Init();
#endif /* PTE_AUTOINIT */
#ifdef RCM_AUTOINIT
  RCM_Init();
#endif /* RCM_AUTOINIT */
#ifdef RNG_AUTOINIT
  RNG_Init();
#endif /* RNG_AUTOINIT */
#ifdef RTC_AUTOINIT
  RTC_Init();
#endif /* RTC_AUTOINIT */
#ifdef SDHC_AUTOINIT
  SDHC_Init();
#endif /* SDHC_AUTOINIT */
#ifdef SMC_AUTOINIT
  SMC_Init();
#endif /* SMC_AUTOINIT */
#ifdef SPI0_AUTOINIT
  SPI0_Init();
#endif /* SPI0_AUTOINIT */
#ifdef SPI1_AUTOINIT
  SPI1_Init();
#endif /* SPI1_AUTOINIT */
#ifdef SPI2_AUTOINIT
  SPI2_Init();
#endif /* SPI2_AUTOINIT */
#ifdef SystemControl_AUTOINIT
  SystemControl_Init();
#endif /* SystemControl_AUTOINIT */
#ifdef SysTick_AUTOINIT
  SysTick_Init();
#endif /* SysTick_AUTOINIT */
#ifdef UART0_AUTOINIT
  UART0_Init();
#endif /* UART0_AUTOINIT */
#ifdef UART1_AUTOINIT
  UART1_Init();
#endif /* UART1_AUTOINIT */
#ifdef UART2_AUTOINIT
  UART2_Init();
#endif /* UART2_AUTOINIT */
#ifdef UART3_AUTOINIT
  UART3_Init();
#endif /* UART3_AUTOINIT */
#ifdef UART4_AUTOINIT
  UART4_Init();
#endif /* UART4_AUTOINIT */
#ifdef UART5_AUTOINIT
  UART5_Init();
#endif /* UART5_AUTOINIT */
#ifdef USB0_AUTOINIT
  USB0_Init();
#endif /* USB0_AUTOINIT */
#ifdef USBDCD_AUTOINIT
  USBDCD_Init();
#endif /* USBDCD_AUTOINIT */
#ifdef VREF_AUTOINIT
  VREF_Init();
#endif /* VREF_AUTOINIT */
#ifdef WDOG_AUTOINIT
  WDOG_Init();
#endif /* WDOG_AUTOINIT */
}
Ejemplo n.º 27
0
static void rt_hw_adc_init(void)
{
ADC1_Init();
	
	rt_kprintf("ACD init.....OK\n\r");
}
void Peripherals_Init(void)
{
#ifdef NVIC_AUTOINIT
  NVIC_Init();
#endif /* NVIC_AUTOINIT */
#ifdef SIM_AUTOINIT
  SIM_Init();
#endif /* SIM_AUTOINIT */

#ifdef MCM_AUTOINIT
  MCM_Init();
#endif /* MCM_AUTOINIT */
#ifdef PMC_AUTOINIT
  PMC_Init();
#endif /* PMC_AUTOINIT */
#ifdef PORTA_AUTOINIT
  PORTA_Init();
#endif /* PORTA_AUTOINIT */
#ifdef PORTB_AUTOINIT
  PORTB_Init();
#endif /* PORTB_AUTOINIT */
#ifdef PORTC_AUTOINIT
  PORTC_Init();
#endif /* PORTC_AUTOINIT */
#ifdef PORTD_AUTOINIT
  PORTD_Init();
#endif /* PORTD_AUTOINIT */
#ifdef PORTE_AUTOINIT
  PORTE_Init();
#endif /* PORTE_AUTOINIT */

#ifdef ADC0_AUTOINIT
  ADC0_Init();
#endif /* ADC0_AUTOINIT */
#ifdef ADC1_AUTOINIT
  ADC1_Init();
#endif /* ADC1_AUTOINIT */
#ifdef CMP0_AUTOINIT
  CMP0_Init();
#endif /* CMP0_AUTOINIT */
#ifdef CMP1_AUTOINIT
  CMP1_Init();
#endif /* CMP1_AUTOINIT */
#ifdef CRC_AUTOINIT
  CRC_Init();
#endif /* CRC_AUTOINIT */
#ifdef DAC0_AUTOINIT
  DAC0_Init();
#endif /* DAC0_AUTOINIT */
#ifdef DMAMUX_AUTOINIT
  DMAMUX_Init();
#endif /* DMAMUX_AUTOINIT */
#ifdef DMA_AUTOINIT
  DMA_Init();
#endif /* DMA_AUTOINIT */
#ifdef EWM_AUTOINIT
  EWM_Init();
#endif /* EWM_AUTOINIT */
#ifdef FTFA_AUTOINIT
  FTFA_Init();
#endif /* FTFA_AUTOINIT */
#ifdef FTM0_AUTOINIT
  FTM0_Init();
#endif /* FTM0_AUTOINIT */
#ifdef FTM1_AUTOINIT
  FTM1_Init();
#endif /* FTM1_AUTOINIT */
#ifdef FTM2_AUTOINIT
  FTM2_Init();
#endif /* FTM2_AUTOINIT */
#ifdef GPIOA_AUTOINIT
  GPIOA_Init();
#endif /* GPIOA_AUTOINIT */
#ifdef GPIOB_AUTOINIT
  GPIOB_Init();
#endif /* GPIOB_AUTOINIT */
#ifdef GPIOC_AUTOINIT
  GPIOC_Init();
#endif /* GPIOC_AUTOINIT */
#ifdef GPIOD_AUTOINIT
  GPIOD_Init();
#endif /* GPIOD_AUTOINIT */
#ifdef GPIOE_AUTOINIT
  GPIOE_Init();
#endif /* GPIOE_AUTOINIT */
#ifdef I2C0_AUTOINIT
  I2C0_Init();
#endif /* I2C0_AUTOINIT */
#ifdef LLWU_AUTOINIT
  LLWU_Init();
#endif /* LLWU_AUTOINIT */
#ifdef LPTMR0_AUTOINIT
  LPTMR0_Init();
#endif /* LPTMR0_AUTOINIT */
#ifdef PDB0_AUTOINIT
  PDB0_Init();
#endif /* PDB0_AUTOINIT */
#ifdef RCM_AUTOINIT
  RCM_Init();
#endif /* RCM_AUTOINIT */
#ifdef SMC_AUTOINIT
  SMC_Init();
#endif /* SMC_AUTOINIT */
#ifdef SPI0_AUTOINIT
  SPI0_Init();
#endif /* SPI0_AUTOINIT */
#ifdef SystemControl_AUTOINIT
  SystemControl_Init();
#endif /* SystemControl_AUTOINIT */
#ifdef SysTick_AUTOINIT
  SysTick_Init();
#endif /* SysTick_AUTOINIT */
#ifdef UART0_AUTOINIT
  UART0_Init();
#endif /* UART0_AUTOINIT */
#ifdef UART1_AUTOINIT
  UART1_Init();
#endif /* UART1_AUTOINIT */
#ifdef WDOG_AUTOINIT
  WDOG_Init();
#endif /* WDOG_AUTOINIT */
}
Ejemplo n.º 29
0
void Config_adc(void){
 ADC_Set_Input_Channel(_ADC_CHANNEL_10);
 ADC1_Init();
}
Ejemplo n.º 30
0
Archivo: main.c Proyecto: EQ4/SMR
void main(void)
{
	int32_t t_spread;
	uint32_t i;

    NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x8000);

	LED_ON(LED_RING_OE); //actually turns the LED ring off
	LEDDriver_Init(5);
	for (i=0;i<26;i++)	LEDDriver_setRGBLED(i,0);
	LED_OFF(LED_RING_OE); //actually turns the LED ring on

	flag_update_LED_ring=1;


	init_inouts();
	init_rotary();
	init_envout_pwm();

	ADC1_Init((uint16_t *)adc_buffer);
	ADC3_Init((uint16_t *)potadc_buffer);

	Codec_Init(SAMPLERATE);

	delay();

	set_default_param_values();

	set_default_color_scheme();

	set_default_user_scalebank();

	//overwrite default parameters if a startup bank exists
	cur_param_bank = load_startup_params();

	if (cur_param_bank == 0xFF){
		factory_reset();
		cur_param_bank=0;
	}

	I2S_Block_Init();

	TIM6_Config();
	DAC_Ch1_NoiseConfig();

	spread=(adc_buffer[SPREAD_ADC] >> 8) + 1;

	I2S_Block_PlayRec();

	//update_spread(1);

	while(1){

		check_errors();

		param_read_switches();

		update_ENVOUT_PWM();

		update_LED_ring();

		update_lock_leds();

		t_spread=read_spread();

		if (t_spread!=-1) update_spread(t_spread);

		process_lock_jacks();

		process_lock_buttons();

		param_read_q();

		param_read_freq_nudge();

		param_read_channel_level();

		process_rotary_button();

		process_rotary_rotation();

		if (ui_mode==PLAY)
			check_rotary_pressed_repeatedly();

		if (ui_mode==EDIT_SCALES)
			handle_edit_scale();

		if (ui_mode==EDIT_COLORS)
			handle_edit_colors();

		if (ui_mode==SELECT_PARAMS){
			handle_freqpot_changing_filtermode();
			handle_slider_changing_clipmode();
		}

		if (do_ROTUP){
			do_ROTUP=0;
			rotate_up();
		}


		if (do_ROTDOWN){
			do_ROTDOWN=0;
			rotate_down();
		}

		process_rotateCV();

		process_scaleCV();

	} //end main loop


} //end main()