Skip to content

SPIClass::transfer function always return 0xEE(238) after some data exchange while using WiFi shield and Arduino Due board #27

Open
@agdl

Description

@agdl

From @PradeepMW on October 30, 2013 7:22

Use case: Arduino Due and WiFi shield is used to send and receive data to/from host PC(desktop) through a router.
Application is running every 10ms and WiFiClient.read() is called in this application loop.

SPIClass::transfer function always return 0xEE(238) after some data exchange while using WiFi shield and Arduino Due board.
START_CMD(0xE0) is never read in SPI_RDR register even though data is sent from host(PC) side. Once this occurs, SPI communication on Arduino Due never reads any data sent from WiFi shield.

In file \arduino-1.5.4\libraries\WiFi\arch\sam\utility\spi_drv.cpp, if the "DELAY_TRANSFER() DELAY_SPI(10)" is changed to "DELAY_TRANSFER() DELAY_SPI(200)", this behavior is not observed.

Copied from original issue: arduino/Arduino#1654

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions