* 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; 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*/
} }

View File

@ -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

View File

@ -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;
} }

View File

@ -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);