queued_spi_polling_b2b_transfer_master#
Overview#
The queued_spi_polling_b2b_transfer examples show how to use QUEUEDSPI driver in polling way:
In this example we need two boards, one board is used as QUEUEDSPI master and another board is used as QUEUEDSPI slave. The file ‘queued_spi_polling_b2b_transfer_master.c’ includes the QUEUEDSPI master code.
QUEUEDSPI master sends/receiveds data to/from QUEUEDSPI slave in polling. (QUEUEDSPI Slave uses interrupt to receive/send the data)
Supported Boards#
MC56F80000-EVK
Hardware requirements
Micro USB cable
MC56F80000-EVK board
Personal Computer
Board hardware common setting
Power setting:
Connect J8 pin2 and pin3 Connect J6 pin1 and pin2 Connect J5 pin1 and pin2
Reset pin setting:
Connect J11 pin2 and pin3
Debugger setting:
Connect J13 pin 1-2, 3-4, 5-6, 7-8
Board settings
Master/Slave board connection as below:
Master Board Slave Board
INSTANCE0(QSPI0) CONNECTS TO INSTANCE1(QSPI0)
Pin Name Board Location Pin Name Board Location
SS0 J1 pin 3 SS0 J1 pin 3
MOSI J2 pin 8 MOSI J2 pin 8
MISO J2 pin 10 MISO J2 pin 10
SCK J2 pin 12 SCK J2 pin 12
GND J2 pin 14 GND J2 pin 14
Note: Don’t use GC7 as SS since GC7 is used for onboard MX25
Prepare the Demo
Connect USB cable between the host PC and the J12 USB port on the target board. It setups Multilink and COM port in PC device manager.
Open a serial terminal with the following settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control
Download the program to the target board with Multilink debug configuration.
Launch the debugger in your IDE to begin running the demo.
Running the demo
When the example runs successfully, you can see the similar information from the terminal as below.
QUEUEDSPI board to board polling example.
This example use one board as master and another as slave.
Master uses polling way and slave uses interrupt way.
Please make sure you make the correct line connection. Basically, the connection is:
QSPI_master -- QSPI_slave
CLK -- CLK
PCS -- PCS
SOUT -- SIN
SIN -- SOUT
GND -- GND
Master transmit:
1 2 3 4 5 6 7 8 9 A B C D E F 10
11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20
21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30
31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40
QUEUEDSPI transfer all data matched!
Master received:
1 2 3 4 5 6 7 8 9 A B C D E F 10
11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20
21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30
31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40
Press any key to run again
MC56F81000-EVK
Hardware requirements
2 x Micro USB cable
MC56F81000-EVK board
Personal Computer
Board hardware common setting
Power setting:
Connect J8 pin2 and pin3 Connect J5 pin1 and pin2 Connect J6 pin1 and pin2
Onboard PnE U-MultiLink debugger setting:
Connet J11 pin2 and pin3 Connect J13 pin 1-2, 3-4, 5-6, 7-8, to setup onboard debugger PnE U-MultiLink. Note: when use external debugger(connected to J10), leave all J13 pins open.
Board settings
Master/Slave board connection as below:
Master Board Slave Board
INSTANCE0(QSPI0) CONNECTS TO INSTANCE1(QSPI0)
Pin Name Board Location Pin Name Board Location
SS0 J1 pin 3 SS0 J1 pin 3
MOSI J2 pin 8 MOSI J2 pin 8
MISO J2 pin 10 MISO J2 pin 10
SCK J2 pin 12 SCK J2 pin 12
GND J2 pin 14 GND J2 pin 14
Note: Don’t use GC7 as SS since GC7 is used for onboard MX25
Prepare the Demo
Connect USB cable between the host PC and the USB(J26) port on the target board to setup USB to UART bridge.
Connect USB cable between the host PC and the USB(J12) port on the target baord to setup mulitlink debugger.
Open a serial terminal with the following settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control
Download the program to the target board with PnE U-MultiLink debug configuration.
Either press the reset button on your board or launch the debugger in your IDE to begin running the demo. Please be noted default FCF(flash configuration field) makes the MCU boot from flash.
Running the demo
When the example runs successfully, you can see the similar information from the terminal as below.
QUEUEDSPI board to board polling example.
This example use one board as master and another as slave.
Master uses polling way and slave uses interrupt way.
Please make sure you make the correct line connection. Basically, the connection is:
QSPI_master -- QSPI_slave
CLK -- CLK
PCS -- PCS
SOUT -- SIN
SIN -- SOUT
GND -- GND
Master transmit:
1 2 3 4 5 6 7 8 9 A B C D E F 10
11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20
21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30
31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40
QUEUEDSPI transfer all data matched!
Master received:
1 2 3 4 5 6 7 8 9 A B C D E F 10
11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20
21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30
31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40
Press any key to run again
MC56F83000-EVK
Hardware requirements
Micro USB cable
MC56F83000-EVK board
Personal Computer
Board hardware common setting
Power setting:
Connect J19 pin2 and pin3 Connect J12 pin1 and pin2 Connect J13 pin1 and pin2 Connect J15 pin1 and pin2 Connect J16 pin2 and pin3 Connect J17 pin1 and pin2
Onboard OSJTAG debugger setting:
Leave J5 open Leave J6 open Note: J6 is only used(connected) when firmware update for onboard debugger OSJTAG. Connect J11 pin 1-2, 3-4, 5-6, 7-8, to setup onboard debugger OSJTAG. Note: when use external debugger(connected to J10), leave all J11 pins open.
Board settings
Master/Slave board connection as below:
Master Board Slave Board
INSTANCE0(QSPI0) CONNECTS TO INSTANCE1(QSPI0)
Pin Name Board Location Pin Name Board Location
SS0 J2 pin 6 SS0 J2 pin 6
MOSI J2 pin 8 MOSI J2 pin 8
MISO J2 pin 10 MISO J2 pin 10
SCK J2 pin 12 SCK J2 pin 12
GND J2 pin 14 GND J2 pin 14
Prepare the Demo
Connect USB cable between the host PC and the JM60 USB(J8) port on the target board. It setups OSJTAG and COM port in PC device manager.
Open a serial terminal with the following settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control
Download the program to the target board with OSJTAG debug configuration.
Either press the reset button on your board or launch the debugger in your IDE to begin running the demo. Please be noted that default FCF(flash configuration field) setting makes MCU boot from bootloader. So after reset button press, it will wait 5s(wait in bootloader) to run the application code.
Running the demo
When the example runs successfully, you can see the similar information from the terminal as below.
QUEUEDSPI board to board polling example.
This example use one board as master and another as slave.
Master uses polling way and slave uses interrupt way.
Please make sure you make the correct line connection. Basically, the connection is:
QSPI_master -- QSPI_slave
CLK -- CLK
PCS -- PCS
SOUT -- SIN
SIN -- SOUT
GND -- GND
Master transmit:
1 2 3 4 5 6 7 8 9 A B C D E F 10
11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20
21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30
31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40
QUEUEDSPI transfer all data matched!
Master received:
1 2 3 4 5 6 7 8 9 A B C D E F 10
11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20
21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30
31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40
Press any key to run again
TWR-MC56F8200
Hardware requirements
Mini USB cable
TWR-MC56F8200 board
Personal Computer
Board hardware common setting
HW reworkd(workaround):
Connect J18(the mini USB port) pin4 and pin5. Note: This is due to HW design error, correct setting should be: J18 pin4 left empty and pin5 connected GND.
Power setting:
Connect J11 pin1 and pin2 Connect J6 pin1 and J7 pin2
UART setting:
Connect J8 pin3 and pin4 Connect J9 pin3 and pin4
Onboard OSJTAG debugger setting:
Connect J20 pin1 and pin2. Leave J17 open. Note: J17 is only used(connected) when firmware update for onboard debugger OSJTAG. Connect J21 pin 1-2, 3-4, 5-6, 7-8, to setup onboard debugger OSJTAG. Note: when use external debugger(connected to J14), leave all J21 pins open
Board settings
Master/Slave board connection as below:
Master Board Slave Board
INSTANCE0(QSPI0) CONNECTS TO INSTANCE1(QSPI0)
Pin Name Board Location Pin Name Board Location
SS0 J502 pin 16 SS0 J502 pin 16
MOSI J502 pin 22 MOSI J502 pin 22
MISO J502 pin 18 MISO J502 pin 18
SCK J502 pin 20 SCK J502 pin 20
GND J502 pin 6 GND J502 pin 6
Prepare the Demo
Connect USB cable between the host PC and the JM60 USB(J18) port on the target board. It setups OSJTAG and COM port in PC device manager.
Open a serial terminal with the following settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control
Download the program to the target board with OSJTAG debug configuration.
Launch the debugger in your IDE to begin running the demo.
Running the demo
When the example runs successfully, you can see the similar information from the terminal as below.
QUEUEDSPI board to board polling example.
This example use one board as master and another as slave.
Master uses polling way and slave uses interrupt way.
Please make sure you make the correct line connection. Basically, the connection is:
QSPI_master -- QSPI_slave
CLK -- CLK
PCS -- PCS
SOUT -- SIN
SIN -- SOUT
GND -- GND
Master transmit:
1 2 3 4 5 6 7 8 9 A B C D E F 10
11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20
21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30
31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40
QUEUEDSPI transfer all data matched!
Master received:
1 2 3 4 5 6 7 8 9 A B C D E F 10
11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20
21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30
31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40
Press any key to run again
TWR-MC56F8400
Hardware requirements
Mini USB cable
TWR-MC56F8400 board
Personal Computer
Board hardware common setting
Power setting:
Connect J11 pin1 and pin2 Connect J6 pin1 and J7 pin2
UART setting:
Connect J8 pin3 and pin4 Connect J9 pin3 and pin4
Onboard OSJTAG debugger setting:
Connect J20 pin1 and pin2. Leave J17 open. Note: J17 is only used(connected) when firmware update for onboard debugger OSJTAG. Connect J21 pin 1-2, 3-4, 5-6, 7-8, to setup onboard debugger OSJTAG. Note: when use external debugger(connected to J14), leave all J21 pins open
Board settings
Master/Slave board connection as below:
Master Board Slave Board
INSTANCE0(QSPI0) CONNECTS TO INSTANCE1(QSPI0)
Pin Name Board Location Pin Name Board Location
SS0 J502 pin 16 SS0 J502 pin 16
MOSI J502 pin 22 MOSI J502 pin 22
MISO J502 pin 18 MISO J502 pin 18
SCK J502 pin 20 SCK J502 pin 20
GND J502 pin 6 GND J502 pin 6
Prepare the Demo
Connect USB cable between the host PC and the JM60 USB(J18) port on the target board. It setups OSJTAG and COM port in PC device manager.
Open a serial terminal with the following settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control
Download the program to the target board with OSJTAG debug configuration.
Launch the debugger in your IDE to begin running the demo.
Running the demo
When the example runs successfully, you can see the similar information from the terminal as below.
QUEUEDSPI board to board polling example.
This example use one board as master and another as slave.
Master uses polling way and slave uses interrupt way.
Please make sure you make the correct line connection. Basically, the connection is:
QSPI_master -- QSPI_slave
CLK -- CLK
PCS -- PCS
SOUT -- SIN
SIN -- SOUT
GND -- GND
Master transmit:
1 2 3 4 5 6 7 8 9 A B C D E F 10
11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20
21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30
31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40
QUEUEDSPI transfer all data matched!
Master received:
1 2 3 4 5 6 7 8 9 A B C D E F 10
11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20
21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30
31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40
Press any key to run again