My hardware only has one spi slave and one spi master. So can I just set the spi slave miso pin as output in spis_init function? If can not, can I set the pull down resistor on the slave miso pin on spis_init?
My hardware only has one spi slave and one spi master. So can I just set the spi slave miso pin as output in spis_init function? If can not, can I set the pull down resistor on the slave miso pin on spis_init?
I don't understand what you are trying to achieve by setting the SPIS miso pin as an output.
So do you mean I can set the intenal pull resistor on spis miso pin?
Oh, right, the miso is already an output, you just need to set the pull configuration.
Use nrf_gpio_cfg:
dir = NRF_GPIO_PIN_DIR_OUTPUT
input = NRF_GPIO_PIN_INPUT_DISCONNECT
pull = NRF_GPIO_PIN_PULLDOWN
drive = NRF_GPIO_PIN_S0S1
sense = NRF_GPIO_PIN_NOSENSE
the miso is already an output
So, surely, it will always be driving - either high or low ?
Therefore a pull up/down is pointless - it will just waste power and serve no useful purpose at all?
nordic sdk set this miso pin as input&no pull when spis is initialized, and when it is selected(cs down), this pin function as miso, otherwise it is set as high impedence, just like other spi device, this is useful when there has more than one spi device on the bus. But in my system, there is only one spi device, So I want to set it as output.
@haakonsh do you mean set as input and enable pull down?
the miso is already an output
And that output will always be driving either high or low - because that's what SPI requires.
SPI is not like I2C - where pullups are required because open-drain outputs are used.
Pull-up/down resistors serve no useful function in SPI - they purely waste power.
the miso is already an output
And that output will always be driving either high or low - because that's what SPI requires.
SPI is not like I2C - where pullups are required because open-drain outputs are used.
Pull-up/down resistors serve no useful function in SPI - they purely waste power.