Hello! I use 2 board nrf52840! I want to transfer large data ( 1~2MBytes) from board1 to board2 with wire to connect. Can have solution for me? (SPI I2C or uart).
Hello! I use 2 board nrf52840! I want to transfer large data ( 1~2MBytes) from board1 to board2 with wire to connect. Can have solution for me? (SPI I2C or uart).
Hi,
We have examples for all the different serial interfaces you list(SPI, I2C and uart). You can find them in the SDK folder SDK_folder\examples\peripheral
.
You can e.g. program one of the boards with the spi example, and the other board with the spis example. When you connect the boards, you can observe that the board running the slave application receives data from the spi master board.
yep. I am working with them now. But
It's data rate throughput very low. I only can transmit 255 bytes in each packet.
Slave spi can't transmit data to master. ( i want to slave response master when it receive each 10kbytes).
If master transmit fast. slave can't receive anything. am I correctly? and have any solution to transmit 1~2 Mbytes from to nrf52 MCU? Please help me!
That is correct. the SPI Slave Peripheral in the nRF52832 only has the EasyDMA feature, it does not have the ArrayList(Autolog) feature like the SPI Master. This means that you will only be able to send 255 bytes (since the TXD.MAXCNT is a 8-bit register) without involving the CPU. After 255 bytes you have to update the pointers to the TX and RX buffers and start another transaction.
You should be able to transmit from the slave to the master, at the same time the slave receive data from the master
Both the SPI slave and master support bitrate of 8 Mbps.
No no. I use nrf52840 chip. Can I use SPI of nrf52840 without DMA?
I know in the example. Slave will response when master send data to it. But I don't know :
Can slave response( transmit data of slave) to master without receive data from master? (independent with master).
When I transmit 200 bytes from master to slave. Slave receives and response " Nordic" string well. But If I transmit consecutive 10 packet( 200 bytes in each package) . Slave seems can't receives. am I correct? And how to do that? ( send consecutive package from master to slave) ?