سلام
من قسمت ADC رو راه انداختم ولی با اینکه مقدار آنالوگ حدود نیم ولت تغییر میکنه ولی مقدار خونده شده ثابت هستش
اگه دستی مقدار صفر یا 3 ولت بدم مقدار خونده شده تغییر میکنه
از پایه 42 یا همون P1.30 استفاده کردم
برنامه :
تعریف اولیه :
تنطیمات اولیه
خواندن مقدار :
من قسمت ADC رو راه انداختم ولی با اینکه مقدار آنالوگ حدود نیم ولت تغییر میکنه ولی مقدار خونده شده ثابت هستش
اگه دستی مقدار صفر یا 3 ولت بدم مقدار خونده شده تغییر میکنه
از پایه 42 یا همون P1.30 استفاده کردم
برنامه :
تعریف اولیه :
کد:
#define BRD_ADC_PREPARED_CHANNEL (ADC_CHANNEL_4) #define BRD_ADC_PREPARED_INTR (ADC_ADINTEN4) #define BRD_ADC_PREPARED_CH_PORT (1) #define BRD_ADC_PREPARED_CH_PIN (30) #define BRD_ADC_PREPARED_CH_FUNC_NO (1)
کد:
PINSEL_ConfigPin(BRD_ADC_PREPARED_CH_PORT, BRD_ADC_PREPARED_CH_PIN, BRD_ADC_PREPARED_CH_FUNC_NO); PINSEL_SetAnalogPinMode(BRD_ADC_PREPARED_CH_PORT, BRD_ADC_PREPARED_CH_PIN,ENABLE); ADC_Init(LPC_ADC, 3000000); ADC_IntConfig(LPC_ADC, BRD_ADC_PREPARED_INTR, DISABLE); ADC_ChannelCmd(LPC_ADC, BRD_ADC_PREPARED_CHANNEL, ENABLE);
کد:
unsigned int val; ADC_StartCmd(LPC_ADC, ADC_START_NOW); while (!(ADC_ChannelGetStatus(LPC_ADC, BRD_ADC_PREPARED_CHANNEL, ADC_DATA_DONE))); val = ADC_ChannelGetData(LPC_ADC, BRD_ADC_PREPARED_CHANNEL); val = val >> 2;
دیدگاه