/**************************************************************************//**
* @file main.c
* @version V1.00
* $Revision: 1 $
* $Date: 14/05/21 3:57p $
* @brief NUC200 Series I2S Controller Sample Code
*
* @note
* Copyright (C) 2011 Nuvoton Technology Corp. All rights reserved.
*
******************************************************************************/
#include <stdio.h>
#include "NUC230_240.h"
#include "NuEdu-Basic01.h"
void Initial_Servo(void)
{
/* Set PA12~PA14 multi-function pins for PWMA Channel0~2 */
SYS->GPA_MFP = SYS_GPA_MFP_PA12_PWM0 ;
SYS->ALT_MFP1 = SYS_ALT_MFP1_PA12_PWM0 ;
CLK_EnableModuleClock(PWM01_MODULE);
/* Select PWM module clock source */
CLK_SetModuleClock(PWM01_MODULE, CLK_CLKSEL1_PWM01_S_HXT, 0);
/* Select PWM module clock source */
CLK_SetModuleClock(PWM01_MODULE, CLK_CLKSEL1_PWM01_S_HXT, 0);
PWM_ConfigOutputChannel(PWMA, PWM_CH0, 50, 50);
PWM_EnableOutput(PWMA, 0x01);
// Start
PWM_Start(PWMA, 0x01);
}
/*---------------------------------------------------------------------------------------------------------*/
/* MAIN function */
/*---------------------------------------------------------------------------------------------------------*/
int main (void)
{
unsigned int temp;
SYS_Init();
//min 2999
//max 5999
//Open ADC Device
Open_ADC_Knob();
Initial_Servo();
while(1)
{
//Get Volume Knob Data
temp = Get_ADC_Knob(); //Volume Range: 0 ~ 4095
temp=temp * (3000) / 4096;
PWMA->CMR0=2999+temp;
//PWM_ConfigOutputChannel(PWMA, PWM_CH0, 50, temp);
}
}
|