Hi Art,
Sounds like an interesting project! Please tell us if you get something going!
As you show, the interfaces don't support having two modes of operation at the same time; you can't have two interfaces connected to the same pins.
What is actually happening under the hood in your example is that the pin MUX for p6 is being set to a SPI input, then to a DigitalIn, hence the SPI not functioning any more. However, in your second example, whilst again there is no reason why this should work, the input sensor of the LPC GPIO implementation actually works independently of the pin MUX, so you set it to DigitalIn (gpio), then to SPI, but the DigitalIn continues to work despite this! So it works, but more by luck/implementation details.
The recommended way would be to tie two pins together for the moment, unless you are happy knowing the fudge above just happens to work!
Simon
Trying to build a driver for the texas cc2500 chip I ran into a little problem
The cc2500 uses miso as a chip ready signal and you have to wait for it to become 0 before using clocking data.
I found out that after:
spi always reads 0 even if p6 is wired to vcc.
It can of course be solved by doubling miso to another -free- input but after:
all seems to work ok.
Probably the initialisation of DigitalIn resets some part of the SPI.
A better solution could be if SPI would have a spi.miso method just reading the misoPin as a DigitalIn.
greetings,
Art.