2 * @brief ADC Driver Source File
\r
3 * @date 04.January.2012
\r
6 * This file contains:
\r
8 * - Interrupt Handlers
\r
10 * which are relevant for the ADC driver.
\r
13 /* (c) Texas Instruments 2009-2012, All rights reserved. */
\r
15 /* USER CODE BEGIN (0) */
\r
22 /* USER CODE BEGIN (1) */
\r
26 /** @fn void adcInit(void)
\r
27 * @brief Initializes ADC Driver
\r
29 * This function initializes the ADC driver.
\r
33 /* USER CODE BEGIN (2) */
\r
38 /* USER CODE BEGIN (3) */
\r
43 /** @b Initialize @b ADC1: */
\r
45 /** - Reset ADC module */
\r
46 adcREG1->RSTCR = 1U;
\r
47 adcREG1->RSTCR = 0U;
\r
49 /** - Enable 12-BIT ADC */
\r
50 adcREG1->OPMODECR |= 0x80000000U;
\r
52 /** - Setup prescaler */
\r
53 adcREG1->CLOCKCR = 7U;
\r
55 /** - Setup memory boundaries */
\r
56 adcREG1->BNDCR =(8U << 16U)|(8U + 8U);
\r
57 adcREG1->BNDEND = 2U;
\r
59 /** - Setup event group conversion mode
\r
60 * - Setup data format
\r
61 * - Enable/Disable channel id in conversion result
\r
62 * - Enable/Disable continuous conversion
\r
64 adcREG1->GxMODECR[0U] = ADC_12_BIT
\r
68 /** - Setup event group hardware trigger
\r
69 * - Setup hardware trigger edge
\r
70 * - Setup hardware trigger source
\r
72 adcREG1->G0SRC = 0x00000000U
\r
75 /** - Setup event group sample window */
\r
76 adcREG1->G0SAMP = 0U;
\r
78 /** - Setup event group sample discharge
\r
79 * - Setup discharge prescaler
\r
80 * - Enable/Disable discharge
\r
82 adcREG1->G0SAMPDISEN = 0U << 8U
\r
85 /** - Setup group 1 conversion mode
\r
86 * - Setup data format
\r
87 * - Enable/Disable channel id in conversion result
\r
88 * - Enable/Disable continuous conversion
\r
90 adcREG1->GxMODECR[1U] = ADC_12_BIT
\r
95 /** - Setup group 1 hardware trigger
\r
96 * - Setup hardware trigger edge
\r
97 * - Setup hardware trigger source
\r
99 adcREG1->G1SRC = 0x00000000U
\r
102 /** - Setup group 1 sample window */
\r
103 adcREG1->G1SAMP = 0U;
\r
105 /** - Setup group 1 sample discharge
\r
106 * - Setup discharge prescaler
\r
107 * - Enable/Disable discharge
\r
109 adcREG1->G1SAMPDISEN = 0U << 8U
\r
112 /** - Setup group 2 conversion mode
\r
113 * - Setup data format
\r
114 * - Enable/Disable channel id in conversion result
\r
115 * - Enable/Disable continuous conversion
\r
117 adcREG1->GxMODECR[2U] = ADC_12_BIT
\r
122 /** - Setup group 2 hardware trigger
\r
123 * - Setup hardware trigger edge
\r
124 * - Setup hardware trigger source
\r
126 adcREG1->G2SRC = 0x00000000U
\r
129 /** - Setup group 2 sample window */
\r
130 adcREG1->G2SAMP = 0U;
\r
132 /** - Setup group 2 sample discharge
\r
133 * - Setup discharge prescaler
\r
134 * - Enable/Disable discharge
\r
136 adcREG1->G2SAMPDISEN = 0U << 8U
\r
139 /** - Enable ADC module */
\r
140 adcREG1->OPMODECR |= 0x80140001U;
\r
142 /** - Wait for buffer inialisation complete */
\r
143 while ((adcREG1->BUFINIT) != 0) { /* Wait */ }
\r
145 /** - Setup parity */
\r
146 adcREG1->PARCR = 0x00000005U;
\r
149 /* USER CODE BEGIN (4) */
\r
150 /* USER CODE END */
\r
153 /* USER CODE BEGIN (5) */
\r
154 /* USER CODE END */
\r
157 /** @fn void adcStartConversion(adcBASE_t *adc, uint32_t group)
\r
158 * @brief Starts an ADC conversion
\r
159 * @param[in] adc Pointer to ADC module:
\r
160 * - adcREG1: ADC1 module pointer
\r
161 * - adcREG2: ADC2 module pointer
\r
162 * @param[in] group Hardware group of ADC module:
\r
163 * - adcGROUP0: ADC event group
\r
164 * - adcGROUP1: ADC group 1
\r
165 * - adcGROUP2: ADC group 2
\r
167 * This function starts a convesion of the ADC hardware group.
\r
171 /** - s_adcSelect is used as constant table for channel selection */
\r
172 static const uint32_t s_adcSelect[2U][3U] =
\r
296 /** - s_adcSelect is used as constant table for channel selection */
\r
297 static const uint32_t s_adcFiFoSize[2U][3U] =
\r
307 /* USER CODE BEGIN (6) */
\r
308 /* USER CODE END */
\r
310 void adcStartConversion(adcBASE_t *adc, uint32_t group)
\r
312 uint32_t index = adc == adcREG1 ? 0U : 1U;
\r
314 /* USER CODE BEGIN (7) */
\r
315 /* USER CODE END */
\r
317 /** - Setup FiFo size */
\r
318 adc->GxINTCR[group] = s_adcFiFoSize[index][group];
\r
320 /** - Start Conversion */
\r
321 adc->GxSEL[group] = s_adcSelect[index][group];
\r
323 /** @note The function adcInit has to be called before this function can be used. */
\r
325 /* USER CODE BEGIN (8) */
\r
326 /* USER CODE END */
\r
329 /* USER CODE BEGIN (9) */
\r
330 /* USER CODE END */
\r
333 /** @fn void adcStopConversion(adcBASE_t *adc, uint32_t group)
\r
334 * @brief Stops an ADC conversion
\r
335 * @param[in] adc Pointer to ADC module:
\r
336 * - adcREG1: ADC1 module pointer
\r
337 * - adcREG2: ADC2 module pointer
\r
338 * @param[in] group Hardware group of ADC module:
\r
339 * - adcGROUP0: ADC event group
\r
340 * - adcGROUP1: ADC group 1
\r
341 * - adcGROUP2: ADC group 2
\r
343 * This function stops a convesion of the ADC hardware group.
\r
347 /* USER CODE BEGIN (10) */
\r
348 /* USER CODE END */
\r
350 void adcStopConversion(adcBASE_t *adc, uint32_t group)
\r
352 /* USER CODE BEGIN (11) */
\r
353 /* USER CODE END */
\r
355 /** - Stop Conversion */
\r
356 adc->GxSEL[group] = 0U;
\r
358 /** @note The function adcInit has to be called before this function can be used. */
\r
360 /* USER CODE BEGIN (12) */
\r
361 /* USER CODE END */
\r
364 /* USER CODE BEGIN (13) */
\r
365 /* USER CODE END */
\r
368 /** @fn void adcResetFiFo(adcBASE_t *adc, uint32_t group)
\r
369 * @brief Resets FiFo read and write pointer.
\r
370 * @param[in] adc Pointer to ADC module:
\r
371 * - adcREG1: ADC1 module pointer
\r
372 * - adcREG2: ADC2 module pointer
\r
373 * @param[in] group Hardware group of ADC module:
\r
374 * - adcGROUP0: ADC event group
\r
375 * - adcGROUP1: ADC group 1
\r
376 * - adcGROUP2: ADC group 2
\r
378 * This function resets the FiFo read and write pointrs.
\r
382 /* USER CODE BEGIN (14) */
\r
383 /* USER CODE END */
\r
385 void adcResetFiFo(adcBASE_t *adc, uint32_t group)
\r
387 /* USER CODE BEGIN (15) */
\r
388 /* USER CODE END */
\r
390 /** - Reset FiFo */
\r
391 adc->GxFIFORESETCR[group] = 1U;
\r
393 /** @note The function adcInit has to be called before this function can be used.\n
\r
394 * the conversion should be stopped before calling this function.
\r
397 /* USER CODE BEGIN (16) */
\r
398 /* USER CODE END */
\r
401 /* USER CODE BEGIN (17) */
\r
402 /* USER CODE END */
\r
405 /** @fn uint32_t adcGetData(adcBASE_t *adc, uint32_t group, adcData_t *data)
\r
406 * @brief Gets converted a ADC values
\r
407 * @param[in] adc Pointer to ADC module:
\r
408 * - adcREG1: ADC1 module pointer
\r
409 * - adcREG2: ADC2 module pointer
\r
410 * - adcREG3: ADC3 module pointer
\r
411 * @param[in] group Hardware group of ADC module:
\r
412 * - adcGROUP0: ADC event group
\r
413 * - adcGROUP1: ADC group 1
\r
414 * - adcGROUP2: ADC group 2
\r
415 * @param[out] data Pointer to store ADC converted data
\r
416 * @return The function will return the number of converted values copied into data buffer:
\r
418 * This function writes a ADC message into a ADC message box.
\r
423 /* USER CODE BEGIN (18) */
\r
424 /* USER CODE END */
\r
426 uint32_t adcGetData(adcBASE_t *adc, uint32_t group, adcData_t *data)
\r
431 uint32_t index = adc == adcREG1 ? 0U : 1U;
\r
432 uint32_t count = adc->GxINTCR[group] >= 256U ? s_adcFiFoSize[index][group] : s_adcFiFoSize[index][group] - (uint32_t)(adc->GxINTCR[group] & 0xFF);
\r
433 adcData_t *ptr = data;
\r
435 /* USER CODE BEGIN (19) */
\r
436 /* USER CODE END */
\r
438 mode = ((adc->GxMODECR[group]) & 0x00000300U);
\r
440 if(mode == ADC_12_BIT)
\r
442 /** - Get conversion data and channel/pin id */
\r
443 for (i = 0; i < count; i++)
\r
445 buf = adc->GxBUF[group].BUF0;
\r
446 ptr->value = (uint16_t)(buf & 0xFFFU);
\r
447 ptr->id = (uint32_t)((buf >> 16U) & 0x1FU);
\r
453 /** - Get conversion data and channel/pin id */
\r
454 for (i = 0; i < count; i++)
\r
456 buf = adc->GxBUF[group].BUF0;
\r
457 ptr->value = (uint16_t)(buf & 0x3FFU);
\r
458 ptr->id = (uint32_t)((buf >> 10U) & 0x1FU);
\r
464 adc->GxINTFLG[group] = 9U;
\r
466 /** @note The function adcInit has to be called before this function can be used.\n
\r
467 * The user is responsible to initialize the message box.
\r
470 /* USER CODE BEGIN (20) */
\r
471 /* USER CODE END */
\r
476 /* USER CODE BEGIN (21) */
\r
477 /* USER CODE END */
\r
480 /** @fn uint32_t adcIsFifoFull(adcBASE_t *adc, uint32_t group)
\r
481 * @brief Checks if FiFo buffer is full
\r
482 * @param[in] adc Pointer to ADC module:
\r
483 * - adcREG1: ADC1 module pointer
\r
484 * - adcREG2: ADC2 module pointer
\r
485 * - adcREG3: ADC3 module pointer
\r
486 * @param[in] group Hardware group of ADC module:
\r
487 * - adcGROUP0: ADC event group
\r
488 * - adcGROUP1: ADC group 1
\r
489 * - adcGROUP2: ADC group 2
\r
490 * @return The function will return:
\r
491 * - 0: When FiFo buffer is not full
\r
492 * - 1: When FiFo buffer is full
\r
493 * - 3: When FiFo buffer overflow occured
\r
495 * This function checks FiFo buffer status.
\r
500 /* USER CODE BEGIN (22) */
\r
501 /* USER CODE END */
\r
503 uint32_t adcIsFifoFull(adcBASE_t *adc, uint32_t group)
\r
507 /* USER CODE BEGIN (23) */
\r
508 /* USER CODE END */
\r
510 /** - Read FiFo flags */
\r
511 flags = adc->GxINTFLG[group] & 3U;
\r
513 /** @note The function adcInit has to be called before this function can be used. */
\r
515 /* USER CODE BEGIN (24) */
\r
516 /* USER CODE END */
\r
521 /* USER CODE BEGIN (25) */
\r
522 /* USER CODE END */
\r
525 /** @fn uint32_t adcIsConversionComplete(adcBASE_t *adc, uint32_t group)
\r
526 * @brief Checks if Conversion is complete
\r
527 * @param[in] adc Pointer to ADC module:
\r
528 * - adcREG1: ADC1 module pointer
\r
529 * - adcREG2: ADC2 module pointer
\r
530 * - adcREG3: ADC3 module pointer
\r
531 * @param[in] group Hardware group of ADC module:
\r
532 * - adcGROUP0: ADC event group
\r
533 * - adcGROUP1: ADC group 1
\r
534 * - adcGROUP2: ADC group 2
\r
535 * @return The function will return:
\r
536 * - 0: When is not finished
\r
537 * - 8: When conversion is complete
\r
539 * This function checks if conversion is complete.
\r
544 /* USER CODE BEGIN (26) */
\r
545 /* USER CODE END */
\r
547 uint32_t adcIsConversionComplete(adcBASE_t *adc, uint32_t group)
\r
551 /* USER CODE BEGIN (27) */
\r
552 /* USER CODE END */
\r
554 /** - Read conversion flags */
\r
555 flags = adc->GxINTFLG[group] & 8U;
\r
557 /** @note The function adcInit has to be called before this function can be used. */
\r
559 /* USER CODE BEGIN (28) */
\r
560 /* USER CODE END */
\r
565 /* USER CODE BEGIN (29) */
\r
566 /* USER CODE END */
\r
568 /** @fn void adcCalibration(adcBASE_t *adc)
\r
569 * @brief Computes offset error using Calibration mode
\r
570 * @param[in] adc Pointer to ADC module:
\r
571 * - adcREG1: ADC1 module pointer
\r
572 * - adcREG2: ADC2 module pointer
\r
573 * - adcREG3: ADC3 module pointer
\r
574 * This function computes offset error using Calibration mode
\r
577 void adcCalibration(adcBASE_t *adc)
\r
579 /* USER CODE BEGIN (30) */
\r
580 /* USER CODE END */
\r
582 uint32_t conv_val[5]={0,0,0,0,0},loop_index=0;
\r
583 uint32_t offset_error=0;
\r
584 uint32_t backup_mode;
\r
586 /** - Backup Mode before Calibration */
\r
587 backup_mode = adc->OPMODECR;
\r
589 /** - Enable 12-BIT ADC */
\r
590 adcREG1->OPMODECR |= 0x80000000U;
\r
592 /* Disable all channels for conversion */
\r
593 adc->GxSEL[0]=0x00;
\r
594 adc->GxSEL[1]=0x00;
\r
595 adc->GxSEL[2]=0x00;
\r
597 for(loop_index=0;loop_index<4;loop_index++)
\r
599 /* Disable Self Test and Calibration mode */
\r
604 case 0 : /* Test 1 : Bride En = 0 , HiLo =0 */
\r
608 case 1 : /* Test 1 : Bride En = 0 , HiLo =1 */
\r
612 case 2 : /* Test 1 : Bride En = 1 , HiLo =0 */
\r
616 case 3 : /* Test 1 : Bride En = 1 , HiLo =1 */
\r
621 /* Enable Calibration mode */
\r
624 /* Start calibration conversion */
\r
625 adc->CALCR|=0x00010000;
\r
627 /* Wait for calibration conversion to complete */
\r
628 while((adc->CALCR & 0x00010000)==0x00010000);
\r
630 /* Read converted value */
\r
631 conv_val[loop_index]= adc->CALR;
\r
634 /* Disable Self Test and Calibration mode */
\r
637 /* Compute the Offset error correction value */
\r
638 conv_val[4]=conv_val[0]+ conv_val[1] + conv_val[2] + conv_val[3];
\r
640 conv_val[4]=(conv_val[4]/4);
\r
642 offset_error=conv_val[4]-0x7FF;
\r
644 /*Write the offset error to the Calibration register */
\r
645 /* Load 2;s complement of the computed value to ADCALR register */
\r
646 offset_error=~offset_error;
\r
647 offset_error=offset_error & 0xFFF;
\r
648 offset_error=offset_error+1;
\r
650 adc->CALR = offset_error;
\r
652 /** - Restore Mode after Calibration */
\r
653 adc->OPMODECR = backup_mode;
\r
655 /** @note The function adcInit has to be called before using this function. */
\r
657 /* USER CODE BEGIN (31) */
\r
658 /* USER CODE END */
\r
662 /** @fn void adcMidPointCalibration(adcBASE_t *adc)
\r
663 * @brief Computes offset error using Mid Point Calibration mode
\r
664 * @param[in] adc Pointer to ADC module:
\r
665 * - adcREG1: ADC1 module pointer
\r
666 * - adcREG2: ADC2 module pointer
\r
667 * - adcREG3: ADC3 module pointer
\r
668 * This function computes offset error using Mid Point Calibration mode
\r
672 /* USER CODE BEGIN (32) */
\r
673 /* USER CODE END */
\r
675 uint32_t adcMidPointCalibration(adcBASE_t *adc)
\r
677 /* USER CODE BEGIN (33) */
\r
678 /* USER CODE END */
\r
680 uint32_t conv_val[3]={0,0,0},loop_index=0;
\r
681 uint32_t offset_error=0;
\r
682 uint32_t backup_mode;
\r
684 /** - Backup Mode before Calibration */
\r
685 backup_mode = adc->OPMODECR;
\r
687 /** - Enable 12-BIT ADC */
\r
688 adcREG1->OPMODECR |= 0x80000000U;
\r
690 /* Disable all channels for conversion */
\r
691 adc->GxSEL[0]=0x00;
\r
692 adc->GxSEL[1]=0x00;
\r
693 adc->GxSEL[2]=0x00;
\r
695 for(loop_index=0;loop_index<2;loop_index++)
\r
697 /* Disable Self Test and Calibration mode */
\r
702 case 0 : /* Test 1 : Bride En = 0 , HiLo =0 */
\r
706 case 1 : /* Test 1 : Bride En = 0 , HiLo =1 */
\r
712 /* Enable Calibration mode */
\r
715 /* Start calibration conversion */
\r
716 adc->CALCR|=0x00010000;
\r
718 /* Wait for calibration conversion to complete */
\r
719 while((adc->CALCR & 0x00010000)==0x00010000);
\r
721 /* Read converted value */
\r
722 conv_val[loop_index]= adc->CALR;
\r
725 /* Disable Self Test and Calibration mode */
\r
728 /* Compute the Offset error correction value */
\r
729 conv_val[2]=(conv_val[0])+ (conv_val[1]);
\r
731 conv_val[2]=(conv_val[2]/2);
\r
733 offset_error=conv_val[2]-0x7FF;
\r
735 /* Write the offset error to the Calibration register */
\r
736 /* Load 2's complement of the computed value to ADCALR register */
\r
737 offset_error=~offset_error;
\r
738 offset_error=offset_error & 0xFFF;
\r
739 offset_error=offset_error+1;
\r
741 adc->CALR = offset_error;
\r
743 /** - Restore Mode after Calibration */
\r
744 adc->OPMODECR = backup_mode;
\r
746 return(offset_error);
\r
748 /** @note The function adcInit has to be called before this function can be used. */
\r
750 /* USER CODE BEGIN (34) */
\r
751 /* USER CODE END */
\r
754 /* USER CODE BEGIN (35) */
\r
755 /* USER CODE END */
\r
757 /** @fn void adcEnableNotification(adcBASE_t *adc, uint32_t group)
\r
758 * @brief Enable notification
\r
759 * @param[in] adc Pointer to ADC module:
\r
760 * - adcREG1: ADC1 module pointer
\r
761 * - adcREG2: ADC2 module pointer
\r
762 * - adcREG3: ADC3 module pointer
\r
763 * @param[in] group Hardware group of ADC module:
\r
764 * - adcGROUP0: ADC event group
\r
765 * - adcGROUP1: ADC group 1
\r
766 * - adcGROUP2: ADC group 2
\r
768 * This function will enable the notification of a conversion.
\r
769 * In single conversion mode for conversion complete and
\r
770 * in continuous conversion mode when the FiFo buffer is full.
\r
774 /* USER CODE BEGIN (36) */
\r
775 /* USER CODE END */
\r
777 void adcEnableNotification(adcBASE_t *adc, uint32_t group)
\r
779 uint32_t notif = adc->GxMODECR[group] & 2U ? 1U : 8U;
\r
781 /* USER CODE BEGIN (37) */
\r
782 /* USER CODE END */
\r
784 adc->GxINTENA[group] = notif;
\r
786 /** @note The function adcInit has to be called before this function can be used.\n
\r
787 * This function should be called before the conversion is started
\r
790 /* USER CODE BEGIN (38) */
\r
791 /* USER CODE END */
\r
794 /* USER CODE BEGIN (39) */
\r
795 /* USER CODE END */
\r
798 /** @fn void adcDisableNotification(adcBASE_t *adc, uint32_t group)
\r
799 * @brief Disable notification
\r
800 * @param[in] adc Pointer to ADC module:
\r
801 * - adcREG1: ADC1 module pointer
\r
802 * - adcREG2: ADC2 module pointer
\r
803 * - adcREG3: ADC3 module pointer
\r
804 * @param[in] group Hardware group of ADC module:
\r
805 * - adcGROUP0: ADC event group
\r
806 * - adcGROUP1: ADC group 1
\r
807 * - adcGROUP2: ADC group 2
\r
809 * This function will disable the notification of a conversion.
\r
812 /* USER CODE BEGIN (40) */
\r
813 /* USER CODE END */
\r
815 void adcDisableNotification(adcBASE_t *adc, uint32_t group)
\r
817 /* USER CODE BEGIN (41) */
\r
818 /* USER CODE END */
\r
820 adc->GxINTENA[group] = 0U;
\r
822 /** @note The function adcInit has to be called before this function can be used. */
\r
824 /* USER CODE BEGIN (42) */
\r
825 /* USER CODE END */
\r
828 /* USER CODE BEGIN (43) */
\r
829 /* USER CODE END */
\r
832 /** @fn void adc1Group0Interrupt(void)
\r
833 * @brief ADC1 Event Group Interrupt Handler
\r
836 /* USER CODE BEGIN (44) */
\r
837 /* USER CODE END */
\r
839 #pragma INTERRUPT(adc1Group0Interrupt, IRQ)
\r
841 void adc1Group0Interrupt(void)
\r
843 /* USER CODE BEGIN (45) */
\r
844 /* USER CODE END */
\r
846 adcREG1->GxINTFLG[0U] = 9U;
\r
848 adcNotification(adcREG1, adcGROUP0);
\r
850 /* USER CODE BEGIN (46) */
\r
851 /* USER CODE END */
\r
854 /* USER CODE BEGIN (47) */
\r
855 /* USER CODE END */
\r
858 /** @fn void adc1Group1Interrupt(void)
\r
859 * @brief ADC1 Group 1 Interrupt Handler
\r
862 /* USER CODE BEGIN (48) */
\r
863 /* USER CODE END */
\r
865 #pragma INTERRUPT(adc1Group1Interrupt, IRQ)
\r
867 void adc1Group1Interrupt(void)
\r
869 /* USER CODE BEGIN (49) */
\r
870 adcNotification(adcREG1, adcGROUP1);
\r
871 /* USER CODE END */
\r
873 /* USER CODE BEGIN (50) */
\r
874 /* USER CODE END */
\r
877 /* USER CODE BEGIN (51) */
\r
878 /* USER CODE END */
\r
881 /** @fn void adc1Group2Interrupt(void)
\r
882 * @brief ADC1 Group 2 Interrupt Handler
\r
885 /* USER CODE BEGIN (52) */
\r
886 /* USER CODE END */
\r
888 #pragma INTERRUPT(adc1Group2Interrupt, IRQ)
\r
890 void adc1Group2Interrupt(void)
\r
892 /* USER CODE BEGIN (53) */
\r
893 /* USER CODE END */
\r
895 adcREG1->GxINTFLG[2U] = 9U;
\r
897 adcNotification(adcREG1, adcGROUP2);
\r
899 /* USER CODE BEGIN (54) */
\r
900 /* USER CODE END */
\r
903 /* USER CODE BEGIN (55) */
\r
904 /* USER CODE END */
\r
907 /** @fn void adc2Group0Interrupt(void)
\r
908 * @brief ADC2 Event Group Interrupt Handler
\r
911 /* USER CODE BEGIN (56) */
\r
912 /* USER CODE END */
\r
914 #pragma INTERRUPT(adc2Group0Interrupt, IRQ)
\r
916 void adc2Group0Interrupt(void)
\r
918 /* USER CODE BEGIN (57) */
\r
919 /* USER CODE END */
\r
921 adcREG2->GxINTFLG[0U] = 9U;
\r
923 adcNotification(adcREG2, adcGROUP0);
\r
925 /* USER CODE BEGIN (58) */
\r
926 /* USER CODE END */
\r
929 /* USER CODE BEGIN (59) */
\r
930 /* USER CODE END */
\r
933 /** @fn void adc2Group1Interrupt(void)
\r
934 * @brief ADC2 Group 1 Interrupt Handler
\r
937 /* USER CODE BEGIN (60) */
\r
938 /* USER CODE END */
\r
940 #pragma INTERRUPT(adc2Group1Interrupt, IRQ)
\r
942 void adc2Group1Interrupt(void)
\r
944 /* USER CODE BEGIN (61) */
\r
945 /* USER CODE END */
\r
947 adcREG2->GxINTFLG[1U] = 9U;
\r
949 adcNotification(adcREG2, adcGROUP1);
\r
951 /* USER CODE BEGIN (62) */
\r
952 /* USER CODE END */
\r
955 /* USER CODE BEGIN (63) */
\r
956 /* USER CODE END */
\r
959 /** @fn void adc2Group2Interrupt(void)
\r
960 * @brief ADC2 Group 2 Interrupt Handler
\r
963 /* USER CODE BEGIN (64) */
\r
964 /* USER CODE END */
\r
966 #pragma INTERRUPT(adc2Group2Interrupt, IRQ)
\r
968 void adc2Group2Interrupt(void)
\r
970 /* USER CODE BEGIN (65) */
\r
971 /* USER CODE END */
\r
973 adcREG2->GxINTFLG[2U] = 9U;
\r
975 adcNotification(adcREG2, adcGROUP2);
\r
977 /* USER CODE BEGIN (66) */
\r
978 /* USER CODE END */
\r
981 /* USER CODE BEGIN (67) */
\r
982 /* USER CODE END */
\r