Skip to content

Arduino Due - CPU init will run the user into trouble on using SPI-devices #20

Open
@agdl

Description

@agdl

From @DieterBurandt on January 17, 2017 17:13

(Arduino 1.6.18.1) Variant.cpp

For Arduino Due ONLY:

The two SPI chip select lines logical pin 4 (sd-card) and logical pin 10 (Ethernet) are also connected to pin 87 and pin 77 respectable. (You can measure it for example with an Ohm-meter.)

All pins from 0 to PINS_COUNT are initialised to digital output low in variant.cpp. If a user takes the standard code and tries work with the SD-card or Ethernet the pins 87 and 77 are still low and the SPI device chip select never reaches a full swing to high.

Curiously it works sometimes but is instable, causing complete failures or slow devices.

Set at least pin 87 and pin 77 to input high. This will not influence the output, not the driver, and works very well.

(It will be great if initialisation of the CPU results in a chip select to disable all potentially connected devices on startup. That is pin 4, 10, 52, 77, 87 to input high. This simplifies using of SD-card and Ethernet devices.)

Copied from original issue: arduino/Arduino#5869

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions