Rev 1 | Rev 238 | Go to most recent revision | Show entire file | Regard 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 | /******************************************************************************* |
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 | ||
520 | } |
536 | } |
521 | } |
537 | } |
Line 522... | Line 538... | ||
522 | 538 | ||
523 | /******************************************************************************* |
539 | /******************************************************************************* |
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 |