Forum : ARM
Original Post
Post Information | Post |
---|---|
April 22, 2008 - 1:33pm
|
Hi, We're designing a system using BSPI1 of a STR711FR2 as interface to an LCD interface in SPI Master mode. Somehow we are not able to get the BSPI1 to work as SPI (using BSPI0 in stead of BSPI1 works perfectly with our code). We've broken down the code to the most essential i.e. starting from the example C:\RIDE\EXAMPLES\STR7\STR71XLIB\BSPI and exchange BSPI0 and BSPI1, still BSPI1 is not working. What could we have missed? There seems to be nothing wrong with the hardware, when configured as GPIO's, P0.4..P0.7 behave as they should. best regards |
Hi,
The latest STR71x library(V4.0) contains an example for BSPI1(FWLib\examples\bspi\interrupt) that may help you.
http://www.st.com/mcu/modules.php?name=mcu&file=familiesdocs&FAM=86#Software (STR71x Firmware Library)
Rgds
Apparantly the /SS pin is causing the trouble. The pin in the hardware design is floating. It seems that the master transmit stops with the BERR flag set in the BSPI1->CSR2 register, when the SS pin is defined in the alternate GPIO function. Defining it as High impedant Input (as the example in the STR7x lib states) is almost a solution. Better to define the pin as PullUp/PullDown and engage the pull down function. For the BSPI0 I didn't experience this phenomenon.