#include "chip.h"
int k;
const uint32_t OscRateIn = 12000000;
static ADC_CLOCK_SETUP_T ADCSetup;
static void Init_ADC_PinMux(void)
{
Chip_IOCON_PinMuxSet(LPC_IOCON, IOCON_PIO1_0, FUNC2);
}
void Chip_GPIO_Init(LPC_GPIO_T *pGPIO)
{
Chip_Clock_EnablePeriphClock(SYSCTL_CLOCK_GPIO);
}
int main(void) {
uint16_t dataADC;
int j;
//Chip_GPIO_Init(LPC_GPIO);
volatile static int h = 0 ;
volatile static int l = 1000 ;
Init_ADC_PinMux();
/* ADC Init */
Chip_ADC_Init(LPC_ADC, &ADCSetup);
Chip_ADC_EnableChannel(LPC_ADC, ADC_CH1, ENABLE);
while(1) {
j = 50000;
while (j--) {
/* Start A/D conversion */
Chip_ADC_SetStartMode(LPC_ADC, ADC_START_NOW, ADC_TRIGGERMODE_RISING);
/* Waiting for A/D conversion complete */
while (Chip_ADC_ReadStatus(LPC_ADC, ADC_CH1, ADC_DR_DONE_STAT) != SET) {}
/* Read ADC value */
Chip_ADC_ReadValue(LPC_ADC, ADC_CH1, &dataADC);
if (h<dataADC) {
hoe=dataADC;
}
if(l>dataADC){
l=dataADC;
}
}
if(h>200){
Chip_GPIO_SetPinDIROutput(LPC_GPIO, 3, 2);
Chip_GPIO_SetPinDIRInput(LPC_GPIO, 3, 1);
}
if(l<200){
Chip_GPIO_SetPinDIROutput(LPC_GPIO, 3, 1);
Chip_GPIO_SetPinDIRInput(LPC_GPIO, 3, 2);
}
h = 0;
l = 1000;
}
}
|
LPC_PMU->PCON= (1<<1)|(1<<11); SCB->SCR|=(1<<2);//Set SLEEPDEEP bit LPC_SYSCTL->PDRUNCFG &= ~((1<<0) | (1<<1)); __WFI(); |
#include "chip.h"
int k;
const uint32_t OscRateIn = 12000000;
static ADC_CLOCK_SETUP_T ADCSetup;
static void Init_ADC_PinMux(void)
{
Chip_IOCON_PinMuxSet(LPC_IOCON, IOCON_PIO1_0, FUNC2);
}
void Chip_GPIO_Init(LPC_GPIO_T *pGPIO)
{
Chip_Clock_EnablePeriphClock(SYSCTL_CLOCK_GPIO);
}
int main(void) {
uint16_t dataADC;
int j;
//Chip_GPIO_Init(LPC_GPIO);
volatile static int h = 0 ;
volatile static int l = 1000 ;
Init_ADC_PinMux();
/* ADC Init */
Chip_ADC_Init(LPC_ADC, &ADCSetup);
Chip_ADC_EnableChannel(LPC_ADC, ADC_CH1, ENABLE);
while(1) {
LPC_PMU->PCON= (1<<1)|(1<<11);
SCB->SCR|=(1<<2);//Set SLEEPDEEP bit
LPC_SYSCTL->PDRUNCFG &= ~((1<<0) | (1<<1));
j = 50000;
while (j--) {
/* Start A/D conversion */
Chip_ADC_SetStartMode(LPC_ADC, ADC_START_NOW, ADC_TRIGGERMODE_RISING);
/* Waiting for A/D conversion complete */
while (Chip_ADC_ReadStatus(LPC_ADC, ADC_CH1, ADC_DR_DONE_STAT) != SET) {}
/* Read ADC value */
Chip_ADC_ReadValue(LPC_ADC, ADC_CH1, &dataADC);
/* Print ADC value */
if (h<dataADC) {
hoe=dataADC;
}
if(l>dataADC){
l=dataADC;
}
}
if(h>200){
Chip_GPIO_SetPinDIROutput(LPC_GPIO, 3, 2);
Chip_GPIO_SetPinDIRInput(LPC_GPIO, 3, 1);
}
if(l<200){
Chip_GPIO_SetPinDIROutput(LPC_GPIO, 3, 1);
Chip_GPIO_SetPinDIRInput(LPC_GPIO, 3, 2);
}
h = 0;
l = 1000;
__WFI();
}
}
|