Subversion Repositories NaviCtrl

Rev

Rev 1 | Rev 238 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1 Rev 196
Line 1... Line 1...
1
/******************** (C) COPYRIGHT 2006 STMicroelectronics ********************
1
/******************** (C) COPYRIGHT 2008 STMicroelectronics ********************
2
* File Name          : 91x_adc.c
2
* File Name          : 91x_adc.c
3
* Author             : MCD Application Team
3
* Author             : MCD Application Team
-
 
4
* Version            : V2.1
4
* Date First Issued  : 05/18/2006 : Version 1.0
5
* Date               : 12/22/2008
5
* Description        : This file provides all the ADC software functions.
6
* Description        : This file provides all the ADC firmware functions.
6
********************************************************************************
-
 
7
* History:
-
 
8
* 05/22/2007 : Version 1.2
-
 
9
* 05/24/2006 : Version 1.1
-
 
10
* 05/18/2006 : Version 1.0
-
 
11
********************************************************************************
7
********************************************************************************
12
* THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH
8
* THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH
13
* CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS
9
* CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS
14
* A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, INDIRECT
10
* A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, INDIRECT
15
* OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT
11
* OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT
Line 332... Line 328...
332
* Output         : None
328
* Output         : None
333
* Return         : None
329
* Return         : None
334
*******************************************************************************/
330
*******************************************************************************/
335
void ADC_ClearFlag(u16 ADC_Flag)
331
void ADC_ClearFlag(u16 ADC_Flag)
336
{  
332
{  
-
 
333
  vu16 tmp=0;
337
  /* Clear the correspondent flag */
334
  /* Clear the correspondent flag */
-
 
335
   if (ADC_Flag==ADC_FLAG_ORD)
-
 
336
   tmp = ADC->DDR;
-
 
337
   else
338
  ADC->CR |= (1<<(ADC_Flag & ADC_FLAG_MASK));
338
   ADC->CR |= (1<<(ADC_Flag & ADC_FLAG_MASK));
339
}
339
}
Line 340... Line 340...
340
 
340
 
341
/*******************************************************************************
341
/*******************************************************************************
342
* Function Name  : ADC_GetConversionValue
342
* Function Name  : ADC_GetConversionValue
Line 425... Line 425...
425
* Output         : None
425
* Output         : None
426
* Return         : The state of the comparision (SET or RESET).
426
* Return         : The state of the comparision (SET or RESET).
427
*******************************************************************************/
427
*******************************************************************************/
428
FlagStatus ADC_GetAnalogWatchdogResult(u16 ADC_Channel)
428
FlagStatus ADC_GetAnalogWatchdogResult(u16 ADC_Channel)
429
{
429
{
430
  if (ADC->CRR & (1<<ADC_Channel) != RESET)
430
  if ((ADC->CRR & (1<<ADC_Channel)) != RESET)
431
  {
431
  {
432
      return SET;
432
      return SET;
433
  }
433
  }
434
  else
434
  else
435
  {
435
  {
Line 506... Line 506...
506
* Output         : None
506
* Output         : None
507
* Return         : None
507
* Return         : None
508
*******************************************************************************/
508
*******************************************************************************/
509
void ADC_ITConfig(u16 ADC_IT, FunctionalState ADC_NewState)
509
void ADC_ITConfig(u16 ADC_IT, FunctionalState ADC_NewState)
510
{
510
{
511
  if (ADC_NewState == ENABLE)
511
 if (ADC_IT==ADC_IT_ORD)
512
  {
512
  {
-
 
513
   if (ADC_NewState == ENABLE)
-
 
514
 
513
    /* Enable the interrupt */
515
    /* Enable the interrupt */
514
    ADC->CR |= ADC_IT;
516
     ADC->CR2 |= ADC_IT;
-
 
517
 
-
 
518
  else
-
 
519
 
-
 
520
    /* Disable the interrupt */
-
 
521
    ADC->CR2 &= ~ADC_IT;
-
 
522
 
515
  }
523
  }
-
 
524
  else{
-
 
525
 
-
 
526
   if (ADC_NewState == ENABLE)
-
 
527
 
-
 
528
    /* Enable the interrupt */
-
 
529
    ADC->CR |= ADC_IT;
-
 
530
 
516
  else
531
  else
517
  {
532
 
518
    /* Disable the interrupt */
533
    /* Disable the interrupt */
519
    ADC->CR &= ~ADC_IT;
534
    ADC->CR &= ~ADC_IT;
-
 
535
 
-
 
536
  }
520
  }
537
  }
521
}
-
 
Line 522... Line 538...
522
 
538
 
523
/*******************************************************************************
539
/*******************************************************************************
524
* Function Name  : ADC_StandbyModeCmd
540
* Function Name  : ADC_StandbyModeCmd
525
* Description    : Enable or disable the standby mode.
541
* Description    : Enable or disable the standby mode.
Line 585... Line 601...
585
  {
601
  {
586
    /* Stop the ADC conversion */
602
    /* Stop the ADC conversion */
587
    ADC->CR &= ADC_Conversion_Stop;
603
    ADC->CR &= ADC_Conversion_Stop;
588
  }
604
  }
589
}
605
}
-
 
606
/*******************************************************************************
-
 
607
* Function Name  : ADC_ExternalTrigConfig
-
 
608
* Description    : source and edge selection of external trigg
-
 
609
* Input          : -ADC_ExtTrig_Src
-
 
610
*                  This parameter can be one of the following values:
-
 
611
*                     ADC_PWM_Trig    : PWM Trigger
-
 
612
*                     ADC_TIM_Trig    : Timer Trigger
-
 
613
*                     ADC_PIN_Trig    : External Trigger Pin
-
 
614
*                
-
 
615
*                  -ADC_ExtTrig_Edge
-
 
616
*                   This parameter can be one of the following values:
-
 
617
*                   Falling_ETE        :Falling edge
-
 
618
*                   Rising_ETE         :Rising edge
-
 
619
* Output         : None
-
 
620
* Return         : None
-
 
621
*******************************************************************************/
-
 
622
 
-
 
623
void ADC_ExternalTrigConfig(u16 ADC_ExtTrig_Src ,  u16 ADC_ExtTrig_Edge)
-
 
624
  {
-
 
625
   ADC->CR2 &= 0x3C;
-
 
626
   ADC->CR2 |= ADC_ExtTrig_Src;
-
 
627
 
-
 
628
   if (ADC_ExtTrig_Edge== Falling_ETE)
-
 
629
   ADC->CR2 |= 0x20;
-
 
630
   else
-
 
631
   ADC->CR2 &=~0x20; ;
-
 
632
 
-
 
633
  }
-
 
634
/*******************************************************************************
-
 
635
* Function Name  :  ADC_ExternalTrigCmd
-
 
636
* Description    : Enable or disable the external trigg feature.
-
 
637
* Input          : ADC_NewState:  Can be ENABLE or DISABLE
-
 
638
* Output         : None
-
 
639
* Return         : None
-
 
640
*******************************************************************************/
-
 
641
 
-
 
642
void ADC_ExternalTrigCmd(FunctionalState ADC_NewState)
-
 
643
{
-
 
644
if (ADC_NewState==ENABLE)
-
 
645
  ADC->CR2 |= 0x04;                    
-
 
646
  else
-
 
647
  ADC->CR2  &=~0x04;  
-
 
648
 
-
 
649
}
-
 
650
/*******************************************************************************
-
 
651
* Function Name  : ADC_DMACmd
-
 
652
* Description    : Enable or disable the DMA request for ADC
-
 
653
* Input          : ADC_NewState:  Can be ENABLE or DISABLE
-
 
654
* Output         : None
-
 
655
* Return         : None
-
 
656
*******************************************************************************/
-
 
657
 
-
 
658
void ADC_DMACmd(FunctionalState ADC_NewState)
-
 
659
{
-
 
660
if (ADC_NewState==ENABLE)
-
 
661
  ADC->CR2 |= 0x08;                    
-
 
662
  else
-
 
663
  ADC->CR2  &=~0x08;  
-
 
664
}
-
 
665
 
-
 
666
/*******************************************************************************
-
 
667
* Function Name  : ADC_AutomaticClockGatedCmd
-
 
668
* Description    : Enables or disables the Automatic clock gated mode for Fast
-
 
669
*                  Trigger mode (only in Rev H).
-
 
670
* Input          : ADC_NewState:  Can be ENABLE or DISABLE
-
 
671
* Output         : None
-
 
672
* Return         : None
-
 
673
*******************************************************************************/
-
 
674
 
-
 
675
void ADC_AutomaticClockGatedCmd(FunctionalState ADC_NewState)
-
 
676
{
-
 
677
if (ADC_NewState==ENABLE)
-
 
678
  SCU->GPIOANA |= 0x100;                    
-
 
679
  else
-
 
680
  SCU->GPIOANA  &=~0x100;  
-
 
681
}
-
 
682
 
Line 590... Line 683...
590
 
683