* updated port apis for SAMD21J18A

* correction in analogueout api
* test support for analogueout in mbed SDK
pull/1316/head
akhilpanayam 2015-08-11 18:21:44 +05:30 committed by Karthik Purushothaman
parent 24edb54690
commit 37ddc4c0c3
4 changed files with 11 additions and 4 deletions

View File

@ -103,5 +103,5 @@ uint16_t analogout_read_u16(dac_t *obj)
uint32_t data_val = 0;
Dac *const dac_module = (uint32_t)obj->dac;
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*/
}

View File

@ -23,7 +23,9 @@ extern "C" {
typedef enum {
PortA = 0,
PortB = 1,
#if defined(TARGET_SAMR21G18A)
PortC = 2
#endif
} PortName;
#ifdef __cplusplus

View File

@ -23,9 +23,8 @@
#define PORTB_MASK 0xC0C3C30D // mask for available pins in Port B
#define PORTC_MASK 0x000D0000 // mask for available pins in Port C
#elif defined(TARGET_SAMD21J18A)
#define PORTA_MASK 0xDBDFFFF3 // mask for available pins in Port A
#define PORTB_MASK 0xC0C3C30D // mask for available pins in Port B
#define PORTC_MASK 0x000D0000 // mask for available pins in Port C
#define PORTA_MASK 0xDBFFFFFF // mask for available pins in Port A
#define PORTB_MASK 0xC0C3FFFF // mask for available pins in Port B
#endif
uint32_t start_pin(PortName port)
@ -67,9 +66,11 @@ void port_init(port_t *obj, PortName port, int mask, PinDirection dir)
case PortB:
obj->mask = (uint32_t)mask & PORTB_MASK;
break;
#if defined(TARGET_SAMR21G18A)
case PortC:
obj->mask = (uint32_t)mask & PORTC_MASK;
break;
#endif
default:
return;
}

View File

@ -54,6 +54,10 @@ AnalogOut out(PA_5);
AnalogIn in(AIN_7P);
AnalogOut out(AOUT_DO);
#elif defined(TARGET_SAMD21J18A)
AnalogIn in(PA04);
AnalogOut out(PA02);
#else
AnalogIn in(p17);
AnalogOut out(p18);