SPI

Questions on control of serial busses
Post Reply
YahooArchive
Posts: 1463
Joined: Fri Oct 19, 2012 5:11 am

SPI

Post by YahooArchive » Thu Oct 25, 2012 2:29 pm

> I always thought the SPI bus was a clockout/clockin deal.

SPI is a very loose standard, but in the ARMmite/express
implementation the ARMmite/express is always the clock master. SPIOUT
just write bytes out, SPIOUT can write some bytes and then read some
bytes. SPIBI writes and reads byte simultaneously.

> In the C do I need to call SPIOUT (with up to 3 bytes) followed by
> SPIIN? Is this operation 'buffered'?

All SPI operations are done bit-banged so there is no buffering and
when you call the routine the SPI operation will start and it will not
return until the operation is complete.

> I get a 'Data Abort 141c' message with just a SPIIN function call.
> I am also using the latest C version as I have put these pins at 16-20
> and have set them to DIGITAL.

A data abort normally occurs when you have a pointer to non-existant
memory. The 141c refers to the code address where this occurred. You
can see where that is in the code with Edit->ASM listing



Post Reply