Fix a critical PIC32 GPIO configuration bug

git-svn-id: https://nuttx.svn.sourceforge.net/svnroot/nuttx/trunk@4867 7fd9a85b-ad96-42d3-883c-3090e2eb8679
This commit is contained in:
patacongo 2012-06-25 15:24:52 +00:00
parent 1301f3da90
commit c8f02e00cd
4 changed files with 27 additions and 6 deletions

View File

@ -2923,5 +2923,8 @@
the Mirtoo module.
* configs/mirtoo/scripts: Move all Mirtoo linker scripts to a common
directory.
* arch/mips/src/pic32mx/pic32mx-gpio.c: All digital inputs were being
configured as outputs. This is a *critical* bug fix and needs to be
incorporated by any PIC32 users.

View File

@ -57,7 +57,26 @@
</p>
<h1>NXWidgets DOxygen Documentation</h1>
<p>
DOxygen documentation for the NxWidgets-1.0 is now available online at <a href="http://www.nx-engineering.com/nxwidgets_v1_0/">this location</a>.
Release notes, DOxygen documentation, as well as downloads for the latest NxWidgets releases are available online:
</p>
<ul>
<li>
<b>NxWidgets-1.0</b>:
<a href="http://www.nx-engineering.com/nxwidgets_v1_0/">Documentation</a>, and
<a href="http://sourceforge.net/projects/nuttx/files/NxWidgets/NxWidgets-1.0/">Downloads</a>
</li>
<li>
<b>NxWidgets-1.1</b>:
<a href="http://www.nx-engineering.com/nxwidgets_v1_1/">Documentation</a>,
<a href="http://sourceforge.net/projects/nuttx/files/NxWidgets/NxWidgets-1.1/">Release notes</a>, and
<a href="http://sourceforge.net/projects/nuttx/files/NxWidgets/NxWidgets-1.1/">Downloads</a>
</li>
<li>
<b>NxWidgets-1.2</b>:
<a href="http://www.nx-engineering.com/nxwidgets_v1_2/">Documentation</a>,
<a href="http://sourceforge.net/projects/nuttx/files/NxWidgets/NxWidgets-1.2/">Release notes</a>, and
<a href="http://sourceforge.net/projects/nuttx/files/NxWidgets/NxWidgets-1.2/">Downloads</a>
</li>
</p>
<p>
Thanks go to Jose Pablo Carballo for contributing this!

View File

@ -160,7 +160,7 @@ int pic32mx_configgpio(uint16_t cfgset)
sched_lock();
if (pic32mx_output(cfgset))
{
/* It is an output; set the corresponding bit in the TRIS register */
/* It is an output; clear the corresponding bit in the TRIS register */
putreg32(1 << pin, base + PIC32MX_IOPORT_TRISCLR_OFFSET);
@ -189,11 +189,9 @@ int pic32mx_configgpio(uint16_t cfgset)
}
else
{
/* It is an input; clear the corresponding bit in the TRIS
* register.
*/
/* It is an input; set the corresponding bit in the TRIS register. */
putreg32(1 << pin, base + PIC32MX_IOPORT_TRISCLR_OFFSET);
putreg32(1 << pin, base + PIC32MX_IOPORT_TRISSET_OFFSET);
putreg32(1 << pin, base + PIC32MX_IOPORT_ODCCLR_OFFSET);
}

View File

@ -73,6 +73,7 @@
# define PIC32MX_IOPORT_ODCCLR_OFFSET 0x0044 /* Open drain control clear register */
# define PIC32MX_IOPORT_ODCSET_OFFSET 0x0048 /* Open drain control set register */
# define PIC32MX_IOPORT_ODCINV_OFFSET 0x004c /* Open drain control invert register */
# define PIC32MX_IOPORT_CNPU_OFFSET 0x0050 /* Change Notification Pull-up register */
# define PIC32MX_IOPORT_CNPUCLR_OFFSET 0x0054 /* Change Notification Pull-up clear register */
# define PIC32MX_IOPORT_CNPUSET_OFFSET 0x0058 /* Change Notification Pull-up set register */