LPC55S69 Flexcomm7 SPI as Slave

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

LPC55S69 Flexcomm7 SPI as Slave

跳至解决方案
522 次查看
micah-ting
Contributor I

I am working with the LPC55S69 eval kit where it has Flexcomm7 SPI set up as a slave.  Using the SDK's example called "spi interrupt" (boards->lpcxpresso55s69->driver_examples->spi->interrupt) I am able to run the demo where FC7 is master and FC2 is slave, where the appropriate wires are crossed on the dev kit.

For my board, I need FC7 to be the slave.

I can get my project working ONLY IF the SDK's example was previously loaded onto the board, power is maintained, and then my project is loaded.  The test method is an external Raspberry Pi as SPI master and sending SPI commands to my project using its GPIO pin header.

If I power down the board and disconnect everything, then power back up and load ONLY my project, the SPI doesn't work.  The Master sends ASCII commands as "VTC 45".  My logic analyzer, configured as SPI, shows the ASCII commands 0x56 0x54 0x43 0x20 0x34 0x35 0x0A on MOSI, which corresponds to the ASCII characters.  With a debugger set to break on the FC7 IRQ Handler, the value of SPI_ReadData() shows 0x01, 0x01, 0x01, 0x02, 0x01, 0x01.

Without disconnecting any hardware and leaving the power on, I go and load the SDK example.  I don't even need to run it.  Keeping power on still, I switch over to my project and load it.  Now SPI works correctly.  The IRQ handler shows 0x56 0x54 0x43 0x20 ... etc and it works correctly.

I have modified the SDK to print the Flexcomm values just before the example transfers occurs, and it looks like this:

SDK Flexcomm2 Slave Values
--- SYSCON Clock Control ---
AHBCLKCTRL0:  0x    E1FB
AHBCLKCTRL1:  0x   42800
AHBCLKCTRL2:  0x 9842000
FCCLKSEL7:    0x       2  (FRO12M)
FLEXFRG2CTRL: 0x      FF
CLOCKLOCK:    0x       0  [unlocked]
--- SYSCON Reset Control ---
PRESETCTRL0:  0x       0
PRESETCTRL1:  0x       0
PRESETCTRL2:  0x       0
--- FLEXCOMM ---
PSELID:       0x  1020F2  (SPI mode)
--- SPI Configuration ---
CFG:          0x       1  [EN=1 MASTER=0 CPOL=0 CPHA=0]
DLY:          0x       0
STAT:         0x     100
INTENSET:     0x       0
DIV:          0x       0
--- SPI FIFO ---
FIFOCFG:      0x      13  [ENTX=1 ENRX=1]
FIFOSTAT:     0x      30
FIFOTRIG:     0x       3
FIFOINTENSET: 0x       0
--- Pin Configuration (IOCON) ---
PIO0_19 (MISO): 0x     121  [FUNC=1 MODE=0]
PIO0_20 (MOSI): 0x     121  [FUNC=1 MODE=0]
PIO0_21 (SCK):  0x     121  [FUNC=1 MODE=0]
PIO1_20 (SSEL): 0x     121  [FUNC=1 MODE=0]

I then did the same in my project.  I printed it both from a cold start (the SDK is not loaded, and SPI fails) and also a warm start (SDK is loaded, SPI succeeds) and its output looks like this:

Project Flexcomm7 Slave Values
--- SYSCON Clock Control ---
AHBCLKCTRL0:  0x    E1FB
AHBCLKCTRL1:  0x   42800
AHBCLKCTRL2:  0x 9842000
FCCLKSEL:    0x       2  (FRO12M)
FLEXFRGCTRL: 0x      FF
CLOCKLOCK:    0x       0  [unlocked]
--- SYSCON Reset Control ---
PRESETCTRL0:  0x       0
PRESETCTRL1:  0x       0
PRESETCTRL2:  0x       0
--- FLEXCOMM ---
PSELID:       0x  1020F2  (SPI mode)
--- SPI Configuration ---
CFG:          0x       1  [EN=1 MASTER=0 CPOL=0 CPHA=0]
DLY:          0x       0
STAT:         0x     100
INTENSET:     0x       0
DIV:          0x       0
--- SPI FIFO ---
FIFOCFG:      0x      13  [ENTX=1 ENRX=1]
FIFOSTAT:     0x      30
FIFOTRIG:     0x       3
FIFOINTENSET: 0x       8
--- Pin Configuration (IOCON) ---
PIO0_19 (MISO): 0x     127  [FUNC=7 MODE=0]
PIO0_20 (MOSI): 0x     127  [FUNC=7 MODE=0]
PIO0_21 (SCK):  0x     127  [FUNC=7 MODE=0]
PIO1_20 (SSEL): 0x     121  [FUNC=1 MODE=0]

 
The only difference I see is the FIFOINTSET, but even with the difference printed out it still works only AFTER I have loaded the SDK and switched over. 

I have poured over the SDK's example of setting up the clocks, resetting peripherals, etc. and am unable to find anything different that my project is doing EXCEPT for the fact that the SDK uses Flexcomm7 as master, and I use it as slave. 

What is most perplexing is that my project will NOT work unless the SDK has been loaded first.  This indicates to me that there is some residual hardware setup that mine is not doing because it persists when the a different binary is loaded.  But it doesn't work from a cold start.

Any help would be greatly appreciated!

标签 (2)
标记 (1)
0 项奖励
回复
1 解答
482 次查看
micah-ting
Contributor I

Thank you

I actually was able to figure it out just before you responded.

In the SDK example with SPI2 and SPI7, in the IRQ Handler when the Slave received data, it did the following:

while (SPI_GetStatusFlags(EXAMPLE_SPI_SLAVE) & kSPI_TxNotFullFlag)
{
    SPI_WriteData(EXAMPLE_SPI_SLAVE, 0xFFFF, 0);
}

The third argument is the config flags for the slave.  I replicated this for my project, but it wasn't working.  It turns out that the bit width configuration wasn't getting set up properly when only the slave was initialized, as in my project.

The solution was to set the bit width in the configuration whenever I called SPI_WriteData

#define SPI_FRAME_8BIT    (7U << 16U)
SPI_WriteData(SPI_SLAVE_FLEXCOMM, (uint16_t)spi_tx_buf[spi_tx_pos++], SPI_FRAME_8BIT);

This ensured that the bit width was configured properly when the external SPI Master was sending data.  Once I populated the config flags correctly, I could run my project from cold boot with no problems.

在原帖中查看解决方案

0 项奖励
回复
2 回复数
486 次查看
Habib_MS
NXP Employee
NXP Employee

Hello @micah-ting,

the latest SDK version (25.12) includes examples that configure the SPI slave using Flexcomm 7 instead of Flexcomm 2. I highly recommend reviewing these examples to understand how to properly configure the peripheral, clocks, pins, and other settings. This SDK version is available through the SDK Builder.

Additionally, to avoid project configuration issues, please follow the steps described in Chapter 5, “Creating new projects using installed SDK part support”, in the MCUXpresso IDE 25.06 User Guide.

Finally, if possible, please try using the SDK master example to ensure that the communication flow between both boards is correct. You can also replicate the flow from the SDK slave example in your own project to avoid any issues related to the application flow.

BR
Habib 

0 项奖励
回复
483 次查看
micah-ting
Contributor I

Thank you

I actually was able to figure it out just before you responded.

In the SDK example with SPI2 and SPI7, in the IRQ Handler when the Slave received data, it did the following:

while (SPI_GetStatusFlags(EXAMPLE_SPI_SLAVE) & kSPI_TxNotFullFlag)
{
    SPI_WriteData(EXAMPLE_SPI_SLAVE, 0xFFFF, 0);
}

The third argument is the config flags for the slave.  I replicated this for my project, but it wasn't working.  It turns out that the bit width configuration wasn't getting set up properly when only the slave was initialized, as in my project.

The solution was to set the bit width in the configuration whenever I called SPI_WriteData

#define SPI_FRAME_8BIT    (7U << 16U)
SPI_WriteData(SPI_SLAVE_FLEXCOMM, (uint16_t)spi_tx_buf[spi_tx_pos++], SPI_FRAME_8BIT);

This ensured that the bit width was configured properly when the external SPI Master was sending data.  Once I populated the config flags correctly, I could run my project from cold boot with no problems.

0 项奖励
回复
%3CLINGO-SUB%20id%3D%22lingo-sub-2320427%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ELPC55S69%20Flexcomm7%20SPI%20%E4%BD%9C%E4%B8%BA%E4%BB%8E%E7%AB%99%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2320427%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E6%88%91%E6%AD%A3%E5%9C%A8%E4%BD%BF%E7%94%A8%20LPC55S69%20%E8%AF%84%E4%BC%B0%E5%A5%97%E4%BB%B6%EF%BC%8C%E5%AE%83%E5%B0%86%20Flexcomm7%20SPI%20%E8%AE%BE%E7%BD%AE%E4%B8%BA%E4%BB%8E%E5%B1%9E%E8%AE%BE%E5%A4%87%E3%80%82%E4%BD%BF%E7%94%A8%E8%BD%AF%E4%BB%B6%E5%BC%80%E5%8F%91%E5%B7%A5%E5%85%B7%E5%8C%85%E4%B8%AD%E5%90%8D%E4%B8%BA%20%22%20spi%20interrupt%20%22%EF%BC%88%E6%9D%BF-%26gt%3B%20lpcxpresso55s69-%26gt%3B%20driver_examplesso-%26gt%3B%20spi-%26gt%3B%20%E4%B8%AD%E6%96%AD%EF%BC%89%E7%9A%84%E7%A4%BA%E4%BE%8B%EF%BC%8C%E6%88%91%E8%83%BD%E5%A4%9F%E5%9C%A8%20FC7%20%E4%B8%BA%E4%B8%BB%E8%80%8C%20FC2%20%E4%B8%BA%E4%BB%8E%E5%B1%9E%E8%AE%BE%E5%A4%87%E7%9A%84%E6%83%85%E5%86%B5%E4%B8%8B%E8%BF%90%E8%A1%8C%E6%BC%94%E7%A4%BA%EF%BC%8C%E5%BC%80%E5%8F%91%E5%A5%97%E4%BB%B6%E4%B8%8A%E7%9B%B8%E5%BA%94%E7%9A%84%E7%94%B5%E7%BA%BF%E4%BA%A4%E5%8F%89%E3%80%82%3C%2FP%3E%3CP%3E%E5%AF%B9%E4%BA%8E%E6%88%91%E7%9A%84%E6%9D%BF%E6%9D%A5%E8%AF%B4%EF%BC%8C%E6%88%91%E9%9C%80%E8%A6%81%20FC7%20%E6%89%8D%E8%83%BD%E6%88%90%E4%B8%BA%E5%A5%B4%E9%9A%B6%E3%80%82%3C%2FP%3E%3CP%3E%E5%8F%AA%E6%9C%89%E5%85%88%E5%B0%86%20SDK%20%E7%9A%84%E7%A4%BA%E4%BE%8B%E5%8A%A0%E8%BD%BD%E5%88%B0%E6%9D%BF%E4%B8%8A%EF%BC%8C%E4%BF%9D%E6%8C%81%E7%94%B5%E6%BA%90%EF%BC%8C%E7%84%B6%E5%90%8E%E5%8A%A0%E8%BD%BD%E6%88%91%E7%9A%84%E9%A1%B9%E7%9B%AE%EF%BC%8C%E6%88%91%E6%89%8D%E8%83%BD%E8%AE%A9%E6%88%91%E7%9A%84%E9%A1%B9%E7%9B%AE%E6%AD%A3%E5%B8%B8%E8%BF%90%E8%A1%8C%E3%80%82%E6%B5%8B%E8%AF%95%E6%96%B9%E6%B3%95%E6%98%AF%E5%B0%86%E5%A4%96%E9%83%A8%20Raspberry%20Pi%20%E4%BD%9C%E4%B8%BA%20SPI%20%E4%B8%BB%E8%AE%BE%E5%A4%87%EF%BC%8C%E4%BD%BF%E7%94%A8%E5%85%B6%20GPIO%20%E9%92%88%E5%BA%A7%E5%90%91%E6%88%91%E7%9A%84%E9%A1%B9%E7%9B%AE%E5%8F%91%E9%80%81%20SPI%20%E5%91%BD%E4%BB%A4%E3%80%82%3C%2FP%3E%3CP%3E%E5%A6%82%E6%9E%9C%E6%88%91%E6%8E%89%E7%94%B5%E6%9D%BF%E5%B9%B6%E6%96%AD%E5%BC%80%E6%89%80%E6%9C%89%E8%BF%9E%E6%8E%A5%EF%BC%8C%E7%84%B6%E5%90%8E%E9%87%8D%E6%96%B0%E5%BC%80%E6%9C%BA%E5%B9%B6%E4%BB%85%E5%8A%A0%E8%BD%BD%E6%88%91%E7%9A%84%E9%A1%B9%E7%9B%AE%EF%BC%8CSPI%20%E5%B0%86%E6%97%A0%E6%B3%95%E8%BF%90%E8%A1%8C%E3%80%82%E4%B8%BB%E7%AB%99%E5%8F%91%E9%80%81%20ASCII%20%E5%91%BD%E4%BB%A4%E7%9A%84%E6%A0%BC%E5%BC%8F%E4%B8%BA%22VTC%2045%22%20%E3%80%82%20%E6%88%91%E7%9A%84%E9%80%BB%E8%BE%91%E5%88%86%E6%9E%90%E4%BB%AA%E9%85%8D%E7%BD%AE%E4%B8%BA%20SPI%EF%BC%8C%E5%9C%A8%20MOSI%20%E4%B8%8A%E6%98%BE%E7%A4%BA%20ASCII%20%E5%91%BD%E4%BB%A4%200x56%200x54%200x43%200x20%200x34%200x35%200x0A%EF%BC%8C%E5%AF%B9%E5%BA%94%E4%BA%8E%20ASCII%20%E5%AD%97%E7%AC%A6%E3%80%82%20%E5%9C%A8%E8%B0%83%E8%AF%95%E5%99%A8%E8%AE%BE%E7%BD%AE%E4%B8%BA%E4%B8%AD%E6%96%AD%20FC7%20IRQ%20%E5%A4%84%E7%90%86%E5%99%A8%E6%97%B6%EF%BC%8CSPI_ReadData()%20%E7%9A%84%E5%80%BC%E6%98%BE%E7%A4%BA%E4%B8%BA%200x01%E3%80%810x01%E3%80%810x01%E3%80%810x02%E3%80%810x01%E3%80%810x01%E3%80%82%3C%2FP%3E%3CP%3E%E5%9C%A8%E4%B8%8D%E6%96%AD%E5%BC%80%E4%BB%BB%E4%BD%95%E7%A1%AC%E4%BB%B6%E8%BF%9E%E6%8E%A5%E5%92%8C%E7%94%B5%E6%BA%90%E7%9A%84%E6%83%85%E5%86%B5%E4%B8%8B%EF%BC%8C%E6%88%91%E5%8A%A0%E8%BD%BD%E4%BA%86%20SDK%20%E7%A4%BA%E4%BE%8B%E3%80%82%20%E6%88%91%E7%94%9A%E8%87%B3%E4%B8%8D%E9%9C%80%E8%A6%81%E8%BF%90%E8%A1%8C%E5%AE%83%E3%80%82%20%E5%9C%A8%E4%BF%9D%E6%8C%81%E4%BE%9B%E7%94%B5%E7%9A%84%E6%83%85%E5%86%B5%E4%B8%8B%EF%BC%8C%E6%88%91%E5%88%87%E6%8D%A2%E5%88%B0%E6%88%91%E7%9A%84%E9%A1%B9%E7%9B%AE%E5%B9%B6%E5%8A%A0%E8%BD%BD%E5%AE%83%E3%80%82%20%E7%8E%B0%E5%9C%A8%20SPI%20%E5%8F%AF%E4%BB%A5%E6%AD%A3%E5%B8%B8%E5%B7%A5%E4%BD%9C%E4%BA%86%E3%80%82%20IRQ%20%E5%A4%84%E7%90%86%E5%99%A8%E6%98%BE%E7%A4%BA%200x56%200x54%200x43%200x20%20......%E7%AD%89%EF%BC%8C%E5%B9%B6%E4%B8%94%E5%B7%A5%E4%BD%9C%E6%AD%A3%E5%B8%B8%E3%80%82%3C%2FP%3E%3CP%3E%E6%88%91%E4%BF%AE%E6%94%B9%E4%BA%86%20SDK%EF%BC%8C%E4%BB%A5%E4%BE%BF%E5%9C%A8%E7%A4%BA%E4%BE%8B%E4%BC%A0%E8%BE%93%E5%8F%91%E7%94%9F%E4%B9%8B%E5%89%8D%E6%89%93%E5%8D%B0%20Flexcomm%20%E5%80%BC%EF%BC%8C%E5%AE%83%E7%9C%8B%E8%B5%B7%E6%9D%A5%E5%83%8F%E8%BF%99%E6%A0%B7%EF%BC%9A%3C%2FP%3E%3CPRE%20class%3D%22lia-code-sample%20language-markup%22%3E%3CCODE%20translate%3D%22no%22%3ESDK%20Flexcomm2%20Slave%20Values%0A---%20SYSCON%20Clock%20Control%20---%0AAHBCLKCTRL0%3A%20%200x%20%20%20%20E1FB%0AAHBCLKCTRL1%3A%20%200x%20%20%2042800%0AAHBCLKCTRL2%3A%20%200x%209842000%0AFCCLKSEL7%3A%20%20%20%200x%20%20%20%20%20%20%202%20%20(FRO12M)%0AFLEXFRG2CTRL%3A%200x%20%20%20%20%20%20FF%0ACLOCKLOCK%3A%20%20%20%200x%20%20%20%20%20%20%200%20%20%5Bunlocked%5D%0A---%20SYSCON%20Reset%20Control%20---%0APRESETCTRL0%3A%20%200x%20%20%20%20%20%20%200%0APRESETCTRL1%3A%20%200x%20%20%20%20%20%20%200%0APRESETCTRL2%3A%20%200x%20%20%20%20%20%20%200%0A---%20FLEXCOMM%20---%0APSELID%3A%20%20%20%20%20%20%200x%20%201020F2%20%20(SPI%20mode)%0A---%20SPI%20Configuration%20---%0ACFG%3A%20%20%20%20%20%20%20%20%20%200x%20%20%20%20%20%20%201%20%20%5BEN%3D1%20MASTER%3D0%20CPOL%3D0%20CPHA%3D0%5D%0ADLY%3A%20%20%20%20%20%20%20%20%20%200x%20%20%20%20%20%20%200%0ASTAT%3A%20%20%20%20%20%20%20%20%200x%20%20%20%20%20100%0AINTENSET%3A%20%20%20%20%200x%20%20%20%20%20%20%200%0ADIV%3A%20%20%20%20%20%20%20%20%20%200x%20%20%20%20%20%20%200%0A---%20SPI%20FIFO%20---%0AFIFOCFG%3A%20%20%20%20%20%200x%20%20%20%20%20%2013%20%20%5BENTX%3D1%20ENRX%3D1%5D%0AFIFOSTAT%3A%20%20%20%20%200x%20%20%20%20%20%2030%0AFIFOTRIG%3A%20%20%20%20%200x%20%20%20%20%20%20%203%0AFIFOINTENSET%3A%200x%20%20%20%20%20%20%200%0A---%20Pin%20Configuration%20(IOCON)%20---%0APIO0_19%20(MISO)%3A%200x%20%20%20%20%20121%20%20%5BFUNC%3D1%20MODE%3D0%5D%0APIO0_20%20(MOSI)%3A%200x%20%20%20%20%20121%20%20%5BFUNC%3D1%20MODE%3D0%5D%0APIO0_21%20(SCK)%3A%20%200x%20%20%20%20%20121%20%20%5BFUNC%3D1%20MODE%3D0%5D%0APIO1_20%20(SSEL)%3A%200x%20%20%20%20%20121%20%20%5BFUNC%3D1%20MODE%3D0%5D%3C%2FCODE%3E%3C%2FPRE%3E%3CP%3E%E7%84%B6%E5%90%8E%EF%BC%8C%E6%88%91%E5%9C%A8%E6%88%91%E7%9A%84%E9%A1%B9%E7%9B%AE%E4%B8%AD%E4%B9%9F%E8%BF%99%E6%A0%B7%E5%81%9A%E4%BA%86%E3%80%82%20%E6%88%91%E5%9C%A8%E5%86%B7%E5%90%AF%E5%8A%A8%EF%BC%88SDK%20%E6%9C%AA%E5%8A%A0%E8%BD%BD%EF%BC%8CSPI%20%E5%A4%B1%E8%B4%A5%EF%BC%89%E5%92%8C%E7%83%AD%E5%90%AF%E5%8A%A8%EF%BC%88SDK%20%E5%B7%B2%E5%8A%A0%E8%BD%BD%EF%BC%8CSPI%20%E6%88%90%E5%8A%9F%EF%BC%89%E6%97%B6%E9%83%BD%E6%89%93%E5%8D%B0%E4%BA%86%E5%AE%83%EF%BC%8C%E5%85%B6%E8%BE%93%E5%87%BA%E5%A6%82%E4%B8%8B%EF%BC%9A%3C%2FP%3E%3CPRE%20class%3D%22lia-code-sample%20language-markup%22%3E%3CCODE%20translate%3D%22no%22%3EProject%20Flexcomm7%20Slave%20Values%0A---%20SYSCON%20Clock%20Control%20---%0AAHBCLKCTRL0%3A%20%200x%20%20%20%20E1FB%0AAHBCLKCTRL1%3A%20%200x%20%20%2042800%0AAHBCLKCTRL2%3A%20%200x%209842000%0AFCCLKSEL%3A%20%20%20%200x%20%20%20%20%20%20%202%20%20(FRO12M)%0AFLEXFRGCTRL%3A%200x%20%20%20%20%20%20FF%0ACLOCKLOCK%3A%20%20%20%200x%20%20%20%20%20%20%200%20%20%5Bunlocked%5D%0A---%20SYSCON%20Reset%20Control%20---%0APRESETCTRL0%3A%20%200x%20%20%20%20%20%20%200%0APRESETCTRL1%3A%20%200x%20%20%20%20%20%20%200%0APRESETCTRL2%3A%20%200x%20%20%20%20%20%20%200%0A---%20FLEXCOMM%20---%0APSELID%3A%20%20%20%20%20%20%200x%20%201020F2%20%20(SPI%20mode)%0A---%20SPI%20Configuration%20---%0ACFG%3A%20%20%20%20%20%20%20%20%20%200x%20%20%20%20%20%20%201%20%20%5BEN%3D1%20MASTER%3D0%20CPOL%3D0%20CPHA%3D0%5D%0ADLY%3A%20%20%20%20%20%20%20%20%20%200x%20%20%20%20%20%20%200%0ASTAT%3A%20%20%20%20%20%20%20%20%200x%20%20%20%20%20100%0AINTENSET%3A%20%20%20%20%200x%20%20%20%20%20%20%200%0ADIV%3A%20%20%20%20%20%20%20%20%20%200x%20%20%20%20%20%20%200%0A---%20SPI%20FIFO%20---%0AFIFOCFG%3A%20%20%20%20%20%200x%20%20%20%20%20%2013%20%20%5BENTX%3D1%20ENRX%3D1%5D%0AFIFOSTAT%3A%20%20%20%20%200x%20%20%20%20%20%2030%0AFIFOTRIG%3A%20%20%20%20%200x%20%20%20%20%20%20%203%0AFIFOINTENSET%3A%200x%20%20%20%20%20%20%208%0A---%20Pin%20Configuration%20(IOCON)%20---%0APIO0_19%20(MISO)%3A%200x%20%20%20%20%20127%20%20%5BFUNC%3D7%20MODE%3D0%5D%0APIO0_20%20(MOSI)%3A%200x%20%20%20%20%20127%20%20%5BFUNC%3D7%20MODE%3D0%5D%0APIO0_21%20(SCK)%3A%20%200x%20%20%20%20%20127%20%20%5BFUNC%3D7%20MODE%3D0%5D%0APIO1_20%20(SSEL)%3A%200x%20%20%20%20%20121%20%20%5BFUNC%3D1%20MODE%3D0%5D%3C%2FCODE%3E%3C%2FPRE%3E%3CP%3E%3CBR%20%2F%3E%E6%88%91%E7%9C%8B%E5%88%B0%E7%9A%84%E5%94%AF%E4%B8%80%E5%8C%BA%E5%88%AB%E6%98%AF%20FIFOINTSET%EF%BC%8C%E4%BD%86%E5%8D%B3%E4%BD%BF%E6%89%93%E5%8D%B0%E5%87%BA%E4%BA%86%E5%8C%BA%E5%88%AB%EF%BC%8C%E4%B9%9F%E6%98%AF%E5%9C%A8%E5%8A%A0%E8%BD%BD%20SDK%20%E5%B9%B6%E5%88%87%E6%8D%A2%E4%B9%8B%E5%90%8E%E6%89%8D%E8%83%BD%E8%BF%90%E8%A1%8C%E3%80%82%20%3C%2FP%3E%3CP%3E%E6%88%91%E5%B7%B2%E7%BB%8F%E4%BB%94%E7%BB%86%E9%98%85%E8%AF%BB%E4%BA%86SDK%E8%AE%BE%E7%BD%AE%E6%97%B6%E9%92%9F%E3%80%81%E9%87%8D%E7%BD%AE%E5%A4%96%E8%AE%BE%E7%AD%89%E7%9A%84%E7%A4%BA%E4%BE%8B%EF%BC%8C%E9%99%A4%E4%BA%86SDK%E4%BD%BF%E7%94%A8Flexcomm7%E4%BD%9C%E4%B8%BA%E4%B8%BB%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%B9%B6%E5%B0%86%E5%85%B6%E7%94%A8%E4%BD%9C%E4%BB%8E%E5%B1%9E%E8%AE%BE%E5%A4%87%E4%B9%8B%E5%A4%96%EF%BC%8C%E6%88%91%E6%89%BE%E4%B8%8D%E5%88%B0%E6%88%91%E7%9A%84%E9%A1%B9%E7%9B%AE%E6%AD%A3%E5%9C%A8%E5%81%9A%E7%9A%84%E4%BB%BB%E4%BD%95%E4%B8%8D%E5%90%8C%E4%B9%8B%E5%A4%84%E3%80%82%3C%2FP%3E%3CP%3E%E6%9C%80%E4%BB%A4%E4%BA%BA%E5%9B%B0%E6%83%91%E7%9A%84%E6%98%AF%EF%BC%8C%E9%99%A4%E9%9D%9E%E5%85%88%E5%8A%A0%E8%BD%BD%20SDK%EF%BC%8C%E5%90%A6%E5%88%99%E6%88%91%E7%9A%84%E9%A1%B9%E7%9B%AE%E6%97%A0%E6%B3%95%E8%BF%90%E8%A1%8C%E3%80%82%20%E8%BF%99%E5%90%91%E6%88%91%E8%A1%A8%E6%98%8E%EF%BC%8C%E6%9C%89%E4%BA%9B%E5%89%A9%E4%BD%99%E7%9A%84%E7%A1%AC%E4%BB%B6%E8%AE%BE%E7%BD%AE%E6%98%AF%E6%88%91%E6%B2%A1%E6%9C%89%E5%81%9A%E7%9A%84%EF%BC%8C%E5%9B%A0%E4%B8%BA%E5%BD%93%E5%8A%A0%E8%BD%BD%E4%B8%8D%E5%90%8C%E7%9A%84%E4%BA%8C%E8%BF%9B%E5%88%B6%E6%96%87%E4%BB%B6%E6%97%B6%EF%BC%8C%E5%AE%83%E4%BB%8D%E7%84%B6%E5%AD%98%E5%9C%A8%E3%80%82%E4%BD%86%E5%AE%83%E5%9C%A8%E5%86%B7%E5%90%AF%E5%8A%A8%E6%97%B6%E4%B8%8D%E8%B5%B7%E4%BD%9C%E7%94%A8%E3%80%82%3C%2FP%3E%3CP%3E%E5%A6%82%E6%9C%89%E4%BB%BB%E4%BD%95%E5%B8%AE%E5%8A%A9%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E4%B8%8D%E8%83%9C%E6%84%9F%E6%BF%80%EF%BC%81%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-2320427%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CLINGO-LABEL%3ELPC55xx%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3E%E5%A4%96%E8%AE%BE%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2320912%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20LPC55S69%20Flexcomm7%20SPI%20as%20Slave%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2320912%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E8%B0%A2%E8%B0%A2%3C%2FP%3E%3CP%3E%E5%85%B6%E5%AE%9E%E5%9C%A8%E4%BD%A0%E5%9B%9E%E5%A4%8D%E4%B9%8B%E5%89%8D%EF%BC%8C%E6%88%91%E5%B0%B1%E6%83%B3%E6%98%8E%E7%99%BD%E4%BA%86%E3%80%82%3C%2FP%3E%3CP%3E%E5%9C%A8%E4%BD%BF%E7%94%A8%20SPI2%20%E5%92%8C%20SPI7%20%E7%9A%84%20SDK%20%E7%A4%BA%E4%BE%8B%E4%B8%AD%EF%BC%8C%E5%BD%93%E4%BB%8E%E5%B1%9E%E8%AE%BE%E5%A4%87%E6%8E%A5%E6%94%B6%E5%88%B0%E6%95%B0%E6%8D%AE%E6%97%B6%EF%BC%8CIRQ%20%E5%A4%84%E7%90%86%E7%A8%8B%E5%BA%8F%E4%BC%9A%E6%89%A7%E8%A1%8C%E4%BB%A5%E4%B8%8B%E6%93%8D%E4%BD%9C%EF%BC%9A%3C%2FP%3E%3CPRE%20class%3D%22lia-code-sample%20language-markup%22%3E%3CCODE%20translate%3D%22no%22%3Ewhile%20(SPI_GetStatusFlags(EXAMPLE_SPI_SLAVE)%20%26amp%3B%20kSPI_TxNotFullFlag)%0A%7B%0A%20%20%20%20SPI_WriteData(EXAMPLE_SPI_SLAVE%2C%200xFFFF%2C%200)%3B%0A%7D%3C%2FCODE%3E%3C%2FPRE%3E%3CP%3E%E7%AC%AC%E4%B8%89%E4%B8%AA%E5%8F%82%E6%95%B0%E6%98%AF%E4%BB%8E%E5%B1%9E%E8%AE%BE%E5%A4%87%E7%9A%84%E9%85%8D%E7%BD%AE%E6%A0%87%E5%BF%97%E3%80%82%20%E6%88%91%E5%9C%A8%E6%88%91%E7%9A%84%E9%A1%B9%E7%9B%AE%E4%B8%AD%E5%A4%8D%E5%88%B6%E4%BA%86%E8%BF%99%E4%B8%AA%E6%96%B9%E6%B3%95%EF%BC%8C%E4%BD%86%E6%B2%A1%E6%9C%89%E7%94%A8%E3%80%82%20%E4%BA%8B%E5%AE%9E%E8%AF%81%E6%98%8E%EF%BC%8C%E5%BD%93%E5%8F%AA%E5%88%9D%E5%A7%8B%E5%8C%96%E4%BB%8E%E5%B1%9E%E6%9C%8D%E5%8A%A1%E5%99%A8%E6%97%B6%EF%BC%8C%E4%BD%8D%E5%AE%BD%E9%85%8D%E7%BD%AE%E6%B2%A1%E6%9C%89%E6%AD%A3%E7%A1%AE%E8%AE%BE%E7%BD%AE%EF%BC%8C%E5%B0%B1%E5%83%8F%E5%9C%A8%E6%88%91%E7%9A%84%E9%A1%B9%E7%9B%AE%E4%B8%AD%E4%B8%80%E6%A0%B7%E3%80%82%3C%2FP%3E%3CP%3E%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95%E6%98%AF%E5%9C%A8%E8%B0%83%E7%94%A8%20SPI_WriteData%20%E6%97%B6%E5%9C%A8%E9%85%8D%E7%BD%AE%E4%B8%AD%E8%AE%BE%E7%BD%AE%E4%BD%8D%E5%AE%BD%E3%80%82%3C%2FP%3E%3CPRE%20class%3D%22lia-code-sample%20language-markup%22%3E%3CCODE%20translate%3D%22no%22%3E%23define%20SPI_FRAME_8BIT%20%20%20%20(7U%20%26lt%3B%26lt%3B%2016U)%0ASPI_WriteData(SPI_SLAVE_FLEXCOMM%2C%20(uint16_t)spi_tx_buf%5Bspi_tx_pos%2B%2B%5D%2C%20SPI_FRAME_8BIT)%3B%3C%2FCODE%3E%3C%2FPRE%3E%3CP%3E%E8%BF%99%E7%A1%AE%E4%BF%9D%E4%BA%86%E5%9C%A8%E5%A4%96%E9%83%A8%20SPI%20%E4%B8%BB%E7%AB%99%E5%8F%91%E9%80%81%E6%95%B0%E6%8D%AE%E6%97%B6%E6%AD%A3%E7%A1%AE%E9%85%8D%E7%BD%AE%E4%BD%8D%E5%AE%BD%E3%80%82%20%E4%B8%80%E6%97%A6%E6%88%91%E6%AD%A3%E7%A1%AE%E5%A1%AB%E5%85%85%E4%BA%86%E9%85%8D%E7%BD%AE%E6%A0%87%E5%BF%97%EF%BC%8C%E6%88%91%E5%B0%B1%E5%8F%AF%E4%BB%A5%E6%AF%AB%E6%97%A0%E9%97%AE%E9%A2%98%E5%9C%B0%E4%BB%8E%E5%86%B7%E5%90%AF%E5%8A%A8%E4%B8%AD%E8%BF%90%E8%A1%8C%E6%88%91%E7%9A%84%E9%A1%B9%E7%9B%AE%E3%80%82%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2320896%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20LPC55S69%20Flexcomm7%20SPI%20as%20Slave%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2320896%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E4%BD%A0%E5%A5%BD%EF%BC%8C%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F260053%22%20target%3D%22_blank%22%3E%40micah-ting%3C%2FA%3E%E3%80%81%3C%2FP%3E%0A%3CP%3E%E6%88%91%E5%BC%BA%E7%83%88%E5%BB%BA%E8%AE%AE%E6%82%A8%E6%9F%A5%E7%9C%8B%E8%BF%99%E4%BA%9B%E7%A4%BA%E4%BE%8B%EF%BC%8C%E4%BB%A5%E4%BA%86%E8%A7%A3%E5%A6%82%E4%BD%95%E6%AD%A3%E7%A1%AE%E9%85%8D%E7%BD%AE%E5%A4%96%E8%AE%BE%E3%80%81%E6%97%B6%E9%92%9F%E3%80%81%E5%BC%95%E8%84%9A%E5%92%8C%E5%85%B6%E4%BB%96%E8%AE%BE%E7%BD%AE%E3%80%82%E8%AF%A5%20SDK%20%E7%89%88%E6%9C%AC%E5%8F%AF%E9%80%9A%E8%BF%87%3CA%20href%3D%22https%3A%2F%2Fmcuxpresso.nxp.com%2F%22%20target%3D%22_self%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3ESDK%20%E7%94%9F%E6%88%90%E5%99%A8%3C%2FA%3E%E8%8E%B7%E5%8F%96%E3%80%82%3CBR%20%2F%3E%3CBR%20%2F%3E%E6%AD%A4%E5%A4%96%EF%BC%8C%E4%B8%BA%E9%81%BF%E5%85%8D%E9%A1%B9%E7%9B%AE%E9%85%8D%E7%BD%AE%E9%97%AE%E9%A2%98%EF%BC%8C%E8%AF%B7%E9%81%B5%E5%BE%AA%3CA%20href%3D%22https%3A%2F%2Fwww.nxp.com%2Fproducts%2Fwireless-connectivity%2Fsub-ghz-ism-bands%2Fmcuxpresso-integrated-development-environment-ide%3AMCUXpresso-IDE%3Ftid%3DvanMCUXPRESSO%2FIDE%23documentation%22%20target%3D%22_self%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3EMCUXpresso%20IDE%2025.06%20%E7%94%A8%E6%88%B7%E6%8C%87%E5%8D%97%3C%2FA%3E%E7%AC%AC%205%20%E7%AB%A0%20%22%E4%BD%BF%E7%94%A8%E5%B7%B2%E5%AE%89%E8%A3%85%E7%9A%84%20SDK%20%E9%83%A8%E4%BB%B6%E6%94%AF%E6%8C%81%E5%88%9B%E5%BB%BA%E6%96%B0%E9%A1%B9%E7%9B%AE%20%22%E4%B8%AD%E6%89%80%E8%BF%B0%E7%9A%84%E6%AD%A5%E9%AA%A4%E3%80%82%3C%2FP%3E%0A%3CP%3E%E6%9C%80%E5%90%8E%EF%BC%8C%E5%A6%82%E6%9E%9C%E5%8F%AF%E8%83%BD%EF%BC%8C%E8%AF%B7%E5%B0%9D%E8%AF%95%E4%BD%BF%E7%94%A8%20SDK%20%E4%B8%BB%E7%A4%BA%E4%BE%8B%E6%9D%A5%E7%A1%AE%E4%BF%9D%E4%B8%A4%E4%B8%AA%E6%9D%BF%E4%B9%8B%E9%97%B4%E7%9A%84%E9%80%9A%E4%BF%A1%E6%B5%81%E7%A8%8B%E6%AD%A3%E7%A1%AE%E3%80%82%E6%82%A8%E4%B9%9F%E5%8F%AF%E4%BB%A5%E5%9C%A8%E8%87%AA%E5%B7%B1%E7%9A%84%E9%A1%B9%E7%9B%AE%E4%B8%AD%E5%A4%8D%E5%88%B6%20SDK%20%E4%BB%8E%E5%B1%9E%E7%A4%BA%E4%BE%8B%E4%B8%AD%E7%9A%84%E6%B5%81%E7%A8%8B%EF%BC%8C%E4%BB%A5%E9%81%BF%E5%85%8D%E4%B8%8E%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E6%B5%81%E7%A8%8B%E7%9B%B8%E5%85%B3%E7%9A%84%E4%BB%BB%E4%BD%95%E9%97%AE%E9%A2%98%E3%80%82%3C%2FP%3E%0A%3CP%3EBR%3CBR%20%2F%3EHabib%20%3C%2FP%3E%3C%2FLINGO-BODY%3E