You can do this by simply calling the right registers:
Example 1, using a MASK
D0/D1 are mapped to to PA10 & PA11 on the M0
/* The following ports where selected
PORT_PA11
PORT_PA10
*/
#define MYMASK 0x00000C00
int main (void)
{
system_init();
REG_PORT_DIRSET0 = MYMASK; // Direction set to OUTPUT
REG_PORT_OUTSET0 = MYMASK; // set state of pin(s) to TRUE (HIGH)
//REG_PORT_OUTCLR0 = MYMASK; // set state of pin(s) to FALSE (LOW)
while(1){
}
}
Here is another simple example:
/* The following ports where selected
PORT_PA11
PORT_PA10
*/
#define MYMASK 0x00000C00
#define LED1 PORT_PA10
#define LED2 PORT_PA11
int main (void)
{
system_init();
REG_PORT_DIRSET0 = LED1 | LED2; // Direction set to OUTPUT
REG_PORT_OUTSET0 = LED1 | LED2; // set state of pin(s) to TRUE (HIGH)
//REG_PORT_OUTCLR0 = LED1 | LED2; // set state of pin(s) to FALSE (LOW)
while(1){
}
}
In the Arduino IDE you can do something like:
#define MYMASK 0x00000C00
void setup() {
REG_PORT_DIRSET0 = MYMASK; // Direction set to OUTPUT
}
void loop() {
REG_PORT_OUTSET0 = MYMASK; // set state of pin(s) to TRUE (HIGH)
delay(1000);
REG_PORT_OUTCLR0 = MYMASK; // set state of pin(s) to FALSE (LOW)
delay(1000);
}