-
• #2
Any idea ?
-
• #3
not really, because this is odd... may be it saves a line or a few bytes / instructions, but it's more about proprietary than solution.
Adding a new version of soft SPI based on the existing one in the firmware is the only solution I can see. working... or use a attiny## slave with bitbanging...
-
• #4
Hi - I was on holiday last week, hence the lack of replies.
While it's unlikely to be your problem, you'd want to remove
integer=
from your code, as that's not doing what you expect :)SPI.setup
might be resetting pin states to their default values which would throw things off - you could try a slightly hacky method of just updating the software SPI values directly:var spi = new SPI(); spi.setup({sck:B6, miso:A6, mosi:A7, mode:integer=0, order:'msb'}); digitalWrite(SS, 0); spi.write(0b01000100); spi._options.mode=3; d = spi.write(0b01000100); digitalWrite(SS, 1);
Otherwise I'd say to just manually create the waveform using
for
loops anddigitalWrite
. Some kind of oscilloscope would probably really help you do see what's going on though. -
• #5
Hi, sorry for the delay to reply.
I tried and it seems to work, thank you very much ! I will post my code when I will be able to make all the necessary tests to confirm the trick.
Best regards
Hello,
I want to access the TI TRF7960 (a 13.56MHz RFID reader/writer) with Espruino running on a nucleo STM32F401RE. The TI chip can be accessed with SPI, but with an exotic trick : clock polarity has to change between a write and a read instruction. Below is a drawing from the application report "Using the SPI Interface With TRF7960" (http://www.ti.com/lit/an/sloa140a/sloa140a.pdf).
How could I do that ? I tried the following but it doesn't work.
Thank you :)
1 Attachment