mirror of https://github.com/ARMmbed/mbed-os.git
* updated port apis for SAMD21J18A
* correction in analogueout api * test support for analogueout in mbed SDKpull/1316/head
parent
24edb54690
commit
37ddc4c0c3
|
@ -103,5 +103,5 @@ uint16_t analogout_read_u16(dac_t *obj)
|
||||||
uint32_t data_val = 0;
|
uint32_t data_val = 0;
|
||||||
Dac *const dac_module = (uint32_t)obj->dac;
|
Dac *const dac_module = (uint32_t)obj->dac;
|
||||||
data_val = dac_module->DATA.reg;
|
data_val = dac_module->DATA.reg;
|
||||||
return (uint16_t)((data_val /MAX_VAL_10BIT) * 0xFFFF); /*Normalization to the value 0xFFFF*/
|
return (uint16_t)((data_val / (float)MAX_VAL_10BIT) * 0xFFFF); /*Normalization to the value 0xFFFF*/
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,7 +23,9 @@ extern "C" {
|
||||||
typedef enum {
|
typedef enum {
|
||||||
PortA = 0,
|
PortA = 0,
|
||||||
PortB = 1,
|
PortB = 1,
|
||||||
|
#if defined(TARGET_SAMR21G18A)
|
||||||
PortC = 2
|
PortC = 2
|
||||||
|
#endif
|
||||||
} PortName;
|
} PortName;
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
|
|
|
@ -23,9 +23,8 @@
|
||||||
#define PORTB_MASK 0xC0C3C30D // mask for available pins in Port B
|
#define PORTB_MASK 0xC0C3C30D // mask for available pins in Port B
|
||||||
#define PORTC_MASK 0x000D0000 // mask for available pins in Port C
|
#define PORTC_MASK 0x000D0000 // mask for available pins in Port C
|
||||||
#elif defined(TARGET_SAMD21J18A)
|
#elif defined(TARGET_SAMD21J18A)
|
||||||
#define PORTA_MASK 0xDBDFFFF3 // mask for available pins in Port A
|
#define PORTA_MASK 0xDBFFFFFF // mask for available pins in Port A
|
||||||
#define PORTB_MASK 0xC0C3C30D // mask for available pins in Port B
|
#define PORTB_MASK 0xC0C3FFFF // mask for available pins in Port B
|
||||||
#define PORTC_MASK 0x000D0000 // mask for available pins in Port C
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
uint32_t start_pin(PortName port)
|
uint32_t start_pin(PortName port)
|
||||||
|
@ -67,9 +66,11 @@ void port_init(port_t *obj, PortName port, int mask, PinDirection dir)
|
||||||
case PortB:
|
case PortB:
|
||||||
obj->mask = (uint32_t)mask & PORTB_MASK;
|
obj->mask = (uint32_t)mask & PORTB_MASK;
|
||||||
break;
|
break;
|
||||||
|
#if defined(TARGET_SAMR21G18A)
|
||||||
case PortC:
|
case PortC:
|
||||||
obj->mask = (uint32_t)mask & PORTC_MASK;
|
obj->mask = (uint32_t)mask & PORTC_MASK;
|
||||||
break;
|
break;
|
||||||
|
#endif
|
||||||
default:
|
default:
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
@ -54,6 +54,10 @@ AnalogOut out(PA_5);
|
||||||
AnalogIn in(AIN_7P);
|
AnalogIn in(AIN_7P);
|
||||||
AnalogOut out(AOUT_DO);
|
AnalogOut out(AOUT_DO);
|
||||||
|
|
||||||
|
#elif defined(TARGET_SAMD21J18A)
|
||||||
|
AnalogIn in(PA04);
|
||||||
|
AnalogOut out(PA02);
|
||||||
|
|
||||||
#else
|
#else
|
||||||
AnalogIn in(p17);
|
AnalogIn in(p17);
|
||||||
AnalogOut out(p18);
|
AnalogOut out(p18);
|
||||||
|
|
Loading…
Reference in New Issue