From 33efce53f509e276f8c7e727ab425ed7427e9bfd Mon Sep 17 00:00:00 2001 From: Sandeep Mistry Date: Tue, 24 Jan 2017 10:07:12 -0500 Subject: [PATCH] Set full PINCFG register on pinMode(pin, OUTPUT) --- cores/arduino/wiring_digital.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/cores/arduino/wiring_digital.c b/cores/arduino/wiring_digital.c index 001c77b09..026af80df 100644 --- a/cores/arduino/wiring_digital.c +++ b/cores/arduino/wiring_digital.c @@ -58,11 +58,8 @@ void pinMode( uint32_t ulPin, uint32_t ulMode ) break ; case OUTPUT: - // enable input, to support reading back values - PORT->Group[g_APinDescription[ulPin].ulPort].PINCFG[g_APinDescription[ulPin].ulPin].bit.INEN = 1 ; - - // disable pullups - PORT->Group[g_APinDescription[ulPin].ulPort].PINCFG[g_APinDescription[ulPin].ulPin].bit.PULLEN = 0 ; + // enable input, to support reading back values, with pullups disabled + PORT->Group[g_APinDescription[ulPin].ulPort].PINCFG[g_APinDescription[ulPin].ulPin].reg=(uint8_t)(PORT_PINCFG_INEN) ; // Set pin to output mode PORT->Group[g_APinDescription[ulPin].ulPort].DIRSET.reg = (uint32_t)(1<