mirror of https://github.com/ARMmbed/mbed-os.git
[NRF51822] analog read - set channel
parent
a8b7f5df2c
commit
9a39c1ddee
|
@ -48,6 +48,7 @@ void analogin_init(analogin_t *obj, PinName pin) {
|
|||
}
|
||||
map++;
|
||||
}
|
||||
obj->adc_pin = (uint8_t)analogInputPin;
|
||||
|
||||
NRF_ADC->ENABLE = ADC_ENABLE_ENABLE_Enabled;
|
||||
NRF_ADC->CONFIG = (ADC_CONFIG_RES_10bit << ADC_CONFIG_RES_Pos) |
|
||||
|
@ -58,6 +59,8 @@ void analogin_init(analogin_t *obj, PinName pin) {
|
|||
}
|
||||
|
||||
uint16_t analogin_read_u16(analogin_t *obj) {
|
||||
NRF_ADC->CONFIG &= ~ADC_CONFIG_PSEL_Msk;
|
||||
NRF_ADC->CONFIG |= obj->adc_pin << ADC_CONFIG_PSEL_Pos;
|
||||
NRF_ADC->TASKS_START = 1;
|
||||
while ( ( (NRF_ADC->BUSY & ADC_BUSY_BUSY_Msk) >> ADC_BUSY_BUSY_Pos) == ADC_BUSY_BUSY_Busy)
|
||||
{
|
||||
|
|
|
@ -57,6 +57,7 @@ struct i2c_s {
|
|||
|
||||
struct analogin_s {
|
||||
ADCName adc;
|
||||
uint8_t adc_pin;
|
||||
};
|
||||
|
||||
struct gpio_irq_s {
|
||||
|
|
|
@ -95,7 +95,7 @@ void analogin_init(analogin_t *obj, PinName pin) {
|
|||
}
|
||||
|
||||
static inline uint32_t adc_read(analogin_t *obj) {
|
||||
volatile uint32_t channels;
|
||||
uint32_t channels;
|
||||
|
||||
__IO LPC_ADC0_Type *adc_reg = (obj->adc < ADC1_0) ? (__IO LPC_ADC0_Type*)(LPC_ADC0) : (__IO LPC_ADC0_Type*)(LPC_ADC1);
|
||||
|
||||
|
|
Loading…
Reference in New Issue