/*---------------------------------------------------------------------------------------------------------*/
/* */
/* SPDX-License-Identifier: Apache-2.0 */
/* Copyright(c) 2023 Nuvoton Technology Corp. All rights reserved. */
/* */
/*---------------------------------------------------------------------------------------------------------*/
#include "MG51_SDCC.H"
/**********************************************************************************************************/
/* File Function: MS51 ADC multi channel input demo code */
/**********************************************************************************************************/
UINT16 ADCdataAIN5=0, ADCdataVBG=0;
/*****************************************************************************/
/*The main C function. Program execution starts */
/*here after stack initialization. */
/*****************************************************************************/
void main (void)
{
/* UART0 settting for printf function */
MODIFY_HIRC(HIRC_24);
Enable_UART0_VCOM_printf_24M_115200();
printf ("\n Test start ...");
/*Enable Bandgap */
ENABLE_ADC_BANDGAP;
ADCCON1|=0X30; /* clock divider */
ADCCON2|=0X0E; /* AQT time */
clr_ADCCON0_ADCF;
set_ADCCON0_ADCS;
while(!(ADCCON0&SET_BIT7));;
ADCdataVBG = ADCRH<<4;
ADCdataVBG |= ADCRL&0x0F;
DISABLE_ADC;
printf("\n ADC channel bandgap =0x%x", ADCdataVBG);
Timer0_Delay(24000000,200,1000);
/*Enable channel 5 */
ENABLE_ADC_AIN5;
ADCCON1|=0X30; /* clock divider */
ADCCON2|=0X0E; /* AQT time */
clr_ADCCON0_ADCF;
set_ADCCON0_ADCS;
while(!(ADCCON0&SET_BIT7)); /* wait ADCF */
ADCdataAIN5 = ADCRH<<4;
ADCdataAIN5 |= ADCRL&0x0F;
DISABLE_ADC;
printf("\n ADC channel 5 =0x%x", ADCdataAIN5);
Timer0_Delay(24000000,200,1000);
while(1);
}
|