Using LPUART2 on FRDM-947 - need to do anything special?

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

Using LPUART2 on FRDM-947 - need to do anything special?

866 次查看
mkraft
Contributor II

I want to use LPUART2 on the FRDM-947 to take in DMX512 on Core1. It appears I can only use framing error to catch the long break of this protocol. My issue is actually getting this to work at all. 

I get an initial framing error, though it is occurring once right after interrupt enabled and before I start to transmit DMX to the FRDM board.

Here is code snippet to set pins and initialize the uart:

port_pin_config_t pin_cfg = {0};

 

/*

* RX-only DMX lines. Pull-up keeps the pin at a defined MARK

* level when no cable is connected.

*

* P4_3 Alt2 = FC2_RXD_SDA_MOSI_DATA (Flexcomm2 RXD)

* P1_16 Alt2 = FC5_RXD_SDA_MOSI_DATA (Flexcomm5 RXD)

*

* Verify Alt function codes against the MCXN947 RM pin-mux table

* or use the MCUXpresso Pins Config Tool.

*/

pin_cfg.pullSelect = kPORT_PullUp;

pin_cfg.pullValueSelect = kPORT_HighPullResistor;

pin_cfg.inputBuffer = kPORT_InputBufferEnable;

pin_cfg.invertInput = kPORT_InputNormal;

pin_cfg.slewRate = kPORT_SlowSlewRate;

pin_cfg.passiveFilterEnable = kPORT_PassiveFilterDisable;

pin_cfg.openDrainEnable = kPORT_OpenDrainDisable;

 

/* CH0 — P4_3 */

CLOCK_EnableClock(kCLOCK_Port4);

pin_cfg.mux = kPORT_MuxAlt2;

PORT_SetPinConfig(PORT4, 3U, &pin_cfg);

 

/* CH1 — P1_16 */

CLOCK_EnableClock(kCLOCK_Port1);

pin_cfg.mux = kPORT_MuxAlt2;

PORT_SetPinConfig(PORT1, 16U, &pin_cfg);

lpuart_config_t cfg;

uint32_t lpclk;

 

/* Attach FRO12M clock then gate the peripheral */

if (ch == DMX_CH0)

{

CLOCK_AttachClk(kFRO12M_to_FLEXCOMM2);

lpclk = CLOCK_GetLPFlexCommClkFreq(2);

}

else

{

CLOCK_AttachClk(kFRO12M_to_FLEXCOMM5);

lpclk = CLOCK_GetLPFlexCommClkFreq(5);

}

CLOCK_EnableClock(s_lpuart_clock[ch]);

 

 

LPUART_GetDefaultConfig(&cfg);

cfg.baudRate_Bps = DMX_BAUD_RATE;

cfg.parityMode = kLPUART_ParityDisabled;

cfg.dataBitsCount = kLPUART_EightDataBits;

cfg.stopBitCount = kLPUART_TwoStopBit;

cfg.enableRx = true;

cfg.enableTx = false;

cfg.rxFifoWatermark = 0;

 

LPUART_Init(s_lpuart_base[ch], &cfg, lpclk);

 

LPUART_EnableInterrupts(s_lpuart_base[ch],

kLPUART_RxDataRegFullInterruptEnable |

kLPUART_FramingErrorInterruptEnable |

kLPUART_RxOverrunInterruptEnable);

 

NVIC_SetPriority(s_lpuart_irq[ch],

0);

EnableIRQ(s_lpuart_irq[ch]);

标签 (1)
0 项奖励
回复
1 回复

813 次查看
mkraft
Contributor II

Problem solved.

Flexcomm2 on pins 4_3 and P4_2 for rxd and txd are signals FC2_P3 and FC2_P2 respectively.

Per the reference manual, this is only available when the Flexcomm2 mode is LPUART+LPI2C.

a call to

LP_FLEXCOMM_Init(LPUART_GetInstance(s_lpuart_base[ch]), LP_FLEXCOMM_PERIPH_LPI2CAndLPUART);

must be made after the driver call to LPUART_Init as this function will set the Flexcomm mode to just LPUART.

 

LPFLEXCOMM_INIT_NOT_USED_IN_DRIVER can be defined so that this change doesn't occur as well.

 

标记 (4)
0 项奖励
回复
%3CLINGO-SUB%20id%3D%22lingo-sub-2358078%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E5%9C%A8%20FRDM-947%20%E4%B8%8A%E4%BD%BF%E7%94%A8%20LPUART2%20-%20%E9%9C%80%E8%A6%81%E5%81%9A%E4%BB%80%E4%B9%88%E7%89%B9%E6%AE%8A%E5%A4%84%E7%90%86%E5%90%97%EF%BC%9F%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2358078%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E6%88%91%E6%83%B3%E5%9C%A8%20FRDM-947%20%E4%B8%8A%E4%BD%BF%E7%94%A8%20LPUART2%20%E5%9C%A8%20Core1%20%E4%B8%8A%E6%8E%A5%E6%94%B6%20DMX512%E3%80%82%E7%9C%8B%E6%9D%A5%EF%BC%8C%E6%88%91%E5%8F%AA%E8%83%BD%E5%88%A9%E7%94%A8%E6%88%90%E5%B8%A7%E9%94%99%E8%AF%AF%E6%9D%A5%E6%8D%95%E6%8D%89%E8%AF%A5%E5%8D%8F%E8%AE%AE%E7%9A%84%E9%95%BF%E4%B8%AD%E6%96%AD%E3%80%82%E6%88%91%E7%9A%84%E9%97%AE%E9%A2%98%E6%98%AF%E5%A6%82%E4%BD%95%E8%AE%A9%E5%AE%83%E6%AD%A3%E5%B8%B8%E5%B7%A5%E4%BD%9C%E3%80%82%20%3C%2FP%3E%3CP%3E%E6%88%91%E9%81%87%E5%88%B0%E4%BA%86%E5%88%9D%E5%A7%8B%E6%88%90%E5%B8%A7%E9%94%99%E8%AF%AF%EF%BC%8C%E5%B0%BD%E7%AE%A1%E5%AE%83%E5%8F%91%E7%94%9F%E5%9C%A8%E5%90%AF%E7%94%A8%E4%B8%AD%E6%96%AD%E4%B9%8B%E5%90%8E%E4%BB%A5%E5%8F%8A%E6%88%91%E5%BC%80%E5%A7%8B%E5%90%91%20FRDM%20%E6%9D%BF%E4%BC%A0%E8%BE%93%20DMX%20%E4%B9%8B%E5%89%8D%E3%80%82%3C%2FP%3E%3CP%3E%E4%B8%8B%E9%9D%A2%E6%98%AF%E8%AE%BE%E7%BD%AE%E5%BC%95%E8%84%9A%E5%92%8C%E5%88%9D%E5%A7%8B%E5%8C%96%20uart%20%E7%9A%84%E4%BB%A3%E7%A0%81%E7%89%87%E6%AE%B5%EF%BC%9A%3C%2FP%3E%3CDIV%3E%3CDIV%3E%3CP%3E%3CSPAN%3Eport_pin_config_t%3C%2FSPAN%3E%3CSPAN%3Epin_cfg%20%3D%20%7B0%7D%EF%BC%9B%3C%2FSPAN%3E%3C%2FP%3E%3CBR%20%2F%3E%3CP%3E%3CSPAN%3E%2F*%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E*%20%E4%BB%85%20RX%20DMX%20%E7%BA%BF%E8%B7%AF%E3%80%82%E4%B8%8A%E6%8B%89%E4%BD%BF%E5%BC%95%E8%84%9A%E4%BF%9D%E6%8C%81%E5%9C%A8%E8%A7%84%E5%AE%9A%E7%9A%84%20MARK%20%E5%80%BC%E4%B8%8A%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E*%20%E6%9C%AA%E8%BF%9E%E6%8E%A5%E7%94%B5%E7%BC%86%E6%97%B6%E7%9A%84%E7%94%B5%E5%B9%B3%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E*%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E*%20P4_3%20Alt2%20%3D%20FC2_RXD_SDA_MOSI_DATA%EF%BC%88Flexcomm2%20RXD%EF%BC%89%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E*%20P1_16%20Alt2%20%3D%20FC5_RXD_SDA_MOSI_DATA%EF%BC%88Flexcomm5%20RXD%EF%BC%89%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E*%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E*%20%E9%AA%8C%E8%AF%81%20%3C%2FSPAN%3E%3CSPAN%3E%E6%A0%B9%E6%8D%AE%20MCXN947%20RM%20%E5%BC%95%E8%84%9A%3C%2FSPAN%3E%3CSPAN%3E%E5%8A%9F%E8%83%BD%E4%BB%A3%E7%A0%81%E4%B8%8E%20MCXN947%20RM%20%E5%BC%95%E8%84%9A%E5%A4%8D%E7%94%A8%E8%A1%A8%E8%BF%9B%E8%A1%8C%E6%A0%B8%E5%AF%B9%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E*%20%E6%88%96%E4%BD%BF%E7%94%A8%20MCUXpresso%20%E5%BC%95%E8%84%9A%20%3C%2FSPAN%3E%3CSPAN%3E%E9%85%8D%E7%BD%AE%3C%2FSPAN%3E%3CSPAN%3E%E5%B7%A5%E5%85%B7%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E*%2F%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3Epin_cfg.%3C%2FSPAN%3E%3CSPAN%3EpullSelect%3C%2FSPAN%3E%3CSPAN%3E%3D%20%3C%2FSPAN%3E%3CSPAN%3EkPORT_PullUp%3C%2FSPAN%3E%3CSPAN%3E%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3Epin_cfg.%3C%2FSPAN%3E%3CSPAN%3EpullValueSelect%3C%2FSPAN%3E%3CSPAN%3E%3D%20%3C%2FSPAN%3E%3CSPAN%3EkPORT_HighPullResistor%3C%2FSPAN%3E%3CSPAN%3E%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3Epin_cfg.%3C%2FSPAN%3E%3CSPAN%3E%E8%BE%93%E5%85%A5%E7%BC%93%E5%86%B2%E5%8C%BA%3C%2FSPAN%3E%3CSPAN%3E%3D%20%3C%2FSPAN%3E%3CSPAN%3EkPORT_InputBufferEnable%3C%2FSPAN%3E%3CSPAN%3E%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3Epin_cfg.%3C%2FSPAN%3E%3CSPAN%3E%E5%8F%8D%E7%9B%B8%E8%BE%93%E5%85%A5%3C%2FSPAN%3E%3CSPAN%3E%3D%20%3C%2FSPAN%3E%3CSPAN%3EkPORT_InputNormal%3C%2FSPAN%3E%3CSPAN%3E%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3Epin_cfg.%3C%2FSPAN%3E%3CSPAN%3E%E5%8E%8B%E6%91%86%E7%8E%87%3C%2FSPAN%3E%3CSPAN%3E%3D%20%3C%2FSPAN%3E%3CSPAN%3EkPORT_SlowSlewRate%3C%2FSPAN%3E%3CSPAN%3E%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3Epin_cfg.%3C%2FSPAN%3E%3CSPAN%3E%E6%97%A0%E6%BA%90%E6%BB%A4%E6%B3%A2%E5%99%A8%E5%90%AF%E7%94%A8%3C%2FSPAN%3E%3CSPAN%3E%3D%20%3C%2FSPAN%3E%3CSPAN%3EkPORT_PassiveFilterDisable%3C%2FSPAN%3E%3CSPAN%3E%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3Epin_cfg.%3C%2FSPAN%3E%3CSPAN%3EopenDrainEnable%3C%2FSPAN%3E%3CSPAN%3E%3D%20%3C%2FSPAN%3E%3CSPAN%3EkPORT_OpenDrainDisable%3C%2FSPAN%3E%3CSPAN%3E%3B%3C%2FSPAN%3E%3C%2FP%3E%3CBR%20%2F%3E%3CP%3E%3CSPAN%3E%2F*%20CH0%20-%20P4_3%20*%2F%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3ECLOCK_EnableClock(%3C%2FSPAN%3E%3CSPAN%3EkCLOCK_Port4%3C%2FSPAN%3E%3CSPAN%3E)%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3Epin_cfg.%3C%2FSPAN%3E%3CSPAN%3E%E5%A4%9A%E8%B7%AF%E5%A4%8D%E7%94%A8%E5%99%A8%3C%2FSPAN%3E%3CSPAN%3E%3D%20%3C%2FSPAN%3E%3CSPAN%3EkPORT_MuxAlt2%3C%2FSPAN%3E%3CSPAN%3E%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3EPORT_SetPinConfig(PORT4%2C%203U%2C%26amp%3Bpin_cfg)%EF%BC%9B%3C%2FSPAN%3E%3C%2FP%3E%3CBR%20%2F%3E%3CP%3E%3CSPAN%3E%2F*%20ch1%20-%20p1_16%20*%2F%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3ECLOCK_EnableClock(%3C%2FSPAN%3E%3CSPAN%3EkCLOCK_Port1%3C%2FSPAN%3E%3CSPAN%3E)%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3Epin_cfg.%3C%2FSPAN%3E%3CSPAN%3E%E5%A4%9A%E8%B7%AF%E5%A4%8D%E7%94%A8%E5%99%A8%3C%2FSPAN%3E%3CSPAN%3E%3D%20%3C%2FSPAN%3E%3CSPAN%3EkPORT_MuxAlt2%3C%2FSPAN%3E%3CSPAN%3E%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3EPORT_SetPinConfig(PORT1%2C%2016U%2C%26amp%3Bpin_cfg)%EF%BC%9B%3C%2FSPAN%3E%3C%2FP%3E%3C%2FDIV%3E%3C%2FDIV%3E%3CDIV%3E%3CP%3E%3CSPAN%3Elpuart_config_t%3C%2FSPAN%3E%3CSPAN%3Ecfg%EF%BC%9B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3Euint32_t%3C%2FSPAN%3E%3CSPAN%3Elpclk%EF%BC%9B%3C%2FSPAN%3E%3C%2FP%3E%3CBR%20%2F%3E%3CP%3E%3CSPAN%3E%2F*%20%E8%BF%9E%E6%8E%A5%20FRO12M%20%E6%97%B6%E9%92%9F%EF%BC%8C%E7%84%B6%E5%90%8E%E6%A0%85%E6%9E%81%E5%A4%96%E8%AE%BE%20*%2F%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%E5%A6%82%E6%9E%9C%3C%2FSPAN%3E%3CSPAN%3E(ch%20%3D%3D%20DMX_CH0)%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%7B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3ECLOCK_AttachClk(%3C%2FSPAN%3E%3CSPAN%3EkFRO12M_too_FLEXCOMM2%3C%2FSPAN%3E%3CSPAN%3E)%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3Elpclk%20%3D%20CLOCK_GetLPFlexCommClkFreq%EF%BC%882%EF%BC%89%EF%BC%9B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%7D%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3Eelse%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%7B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3ECLOCK_AttachClk(%3C%2FSPAN%3E%3CSPAN%3EkFRO12M_too_FLEXCOMM5%3C%2FSPAN%3E%3CSPAN%3E)%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3Elpclk%20%3D%20CLOCK_GetLPFlexCommClkFreq%EF%BC%885%EF%BC%89%EF%BC%9B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%7D%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3ECLOCK_EnableClock(s_lpuart_clock%5Bch%5D)%EF%BC%9B%3C%2FSPAN%3E%3C%2FP%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%3CP%3E%3CSPAN%3ELPUART_GetDefaultConfig(%26amp%3Bcfg)%EF%BC%9B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3Ecfg.%3C%2FSPAN%3E%3CSPAN%3EbaudRate_Bps%3C%2FSPAN%3E%3CSPAN%3E%3D%20dmx_baud_rate%EF%BC%9B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3Ecfg.%3C%2FSPAN%3E%3CSPAN%3E%E5%A5%87%E5%81%B6%E6%A0%A1%E9%AA%8C%E6%A8%A1%E5%BC%8F%3C%2FSPAN%3E%3CSPAN%3E%3D%20%3C%2FSPAN%3E%3CSPAN%3EkLPUART_ParityDisabled%3C%2FSPAN%3E%3CSPAN%3E%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3Ecfg.%3C%2FSPAN%3E%3CSPAN%3E%E6%95%B0%E6%8D%AE%E4%BD%8D%E6%95%B0%3C%2FSPAN%3E%3CSPAN%3E%3D%20%3C%2FSPAN%3E%3CSPAN%3EkLPUART_EightDataBits%3C%2FSPAN%3E%3CSPAN%3E%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3Ecfg.%3C%2FSPAN%3E%3CSPAN%3EstopBitCount%3C%2FSPAN%3E%3CSPAN%3E%3D%20%3C%2FSPAN%3E%3CSPAN%3EkLPUART_TwoStopBit%3C%2FSPAN%3E%3CSPAN%3E%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3Ecfg.%3C%2FSPAN%3E%3CSPAN%3EenableRx%3C%2FSPAN%3E%3CSPAN%3E%3D%20true%EF%BC%9B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3Ecfg.%3C%2FSPAN%3E%3CSPAN%3EenableTx%3C%2FSPAN%3E%3CSPAN%3E%3D%20false%EF%BC%9B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3Ecfg.%3C%2FSPAN%3E%3CSPAN%3ErxFifoWatermark%3C%2FSPAN%3E%3CSPAN%3E%3D%200%3B%3C%2FSPAN%3E%3C%2FP%3E%3CBR%20%2F%3E%3CP%3E%3CSPAN%3ELPUART_Init(s_lpuart_base%5Bch%5D%2C%26amp%3Bcfg%2C%20lpclk)%EF%BC%9B%3C%2FSPAN%3E%3C%2FP%3E%3CBR%20%2F%3E%3CDIV%3E%3CP%3E%3CSPAN%3ELPUART_EnableInterrupts(s_lpuart_base%5Bch%5D%E3%80%81%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3EkLPUART_RxDataRegFullInterruptEnable%3C%2FSPAN%3E%3CSPAN%3E%7C%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3EkLPUART_FramingErrorInterruptEnable%3C%2FSPAN%3E%3CSPAN%3E%7C%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3EkLPUART_RxOverrunInterruptEnable%3C%2FSPAN%3E%3CSPAN%3E)%3B%3C%2FSPAN%3E%3C%2FP%3E%3CBR%20%2F%3E%3CP%3E%3CSPAN%3ENVIC_SetPriority(s_lpuart_irq%5Bch%5D%E3%80%81%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E0)%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3EEnableIRQ(s_lpuart_irq%5Bch%5D)%EF%BC%9B%3C%2FSPAN%3E%3C%2FP%3E%3C%2FDIV%3E%3C%2FDIV%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-2358078%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CLINGO-LABEL%3EMCX%20N%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2358708%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20Using%20LPUART2%20on%20FRDM-947%20-%20need%20to%20do%20anything%20special%3F%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2358708%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E9%97%AE%E9%A2%98%E8%A7%A3%E5%86%B3%E4%BA%86%E3%80%82%3C%2FP%3E%3CP%3E%E7%94%A8%E4%BA%8E%20rxd%20%E5%92%8C%20txd%20%E7%9A%84%204_3%20%E5%92%8C%20P4_2%20%E5%BC%95%E8%84%9A%E4%B8%8A%E7%9A%84%20Flexcomm2%20%E4%BF%A1%E5%8F%B7%E5%88%86%E5%88%AB%E4%B8%BA%20FC2_P3%20%E5%92%8C%20FC2_P2%E3%80%82%3C%2FP%3E%3CP%3E%E6%A0%B9%E6%8D%AE%E5%8F%82%E8%80%83%E6%89%8B%E5%86%8C%EF%BC%8C%E8%BF%99%E4%BB%85%E5%9C%A8%20Flexcomm2%20%E6%A8%A1%E5%BC%8F%E4%B8%BA%20LPUART%2BLPI2C%20%E6%97%B6%E6%89%8D%E5%8F%AF%E7%94%A8%E3%80%82%3C%2FP%3E%3CP%3E%E5%91%BC%E5%90%81%3C%2FP%3E%3CDIV%3E%3CDIV%3E%3CP%3E%3CSPAN%3ELP_FLEXCOMM_Init(LPUART_GetInstance(s_lpuart_base%5Bch%5D)%E3%80%81%20%3C%2FSPAN%3E%3CSPAN%3ELP_FLEXCOMM_PERIPH_LPI2CAndLPUART%3C%2FSPAN%3E%3CSPAN%3E)%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%E5%BF%85%E9%A1%BB%E5%9C%A8%E9%A9%B1%E5%8A%A8%E7%A8%8B%E5%BA%8F%E8%B0%83%E7%94%A8%3CSPAN%3ELPUART_Init%3C%2FSPAN%3E%E4%B9%8B%E5%90%8E%E6%89%A7%E8%A1%8C%EF%BC%8C%E5%9B%A0%E4%B8%BA%E8%AF%A5%E5%87%BD%E6%95%B0%E5%B0%86%E6%8A%8A%20Flexcomm%20%E6%A8%A1%E5%BC%8F%E8%AE%BE%E7%BD%AE%E4%B8%BA%20LPUART%E3%80%82%3C%2FP%3E%3CBR%20%2F%3E%3CP%3E%3CSPAN%3E%3CSPAN%3E%E5%8F%AF%E4%BB%A5%E5%AE%9A%E4%B9%89%20LPFLEXCOMM_INIT_NOT_USED_IN_DRIVER%EF%BC%8C%E8%BF%99%E6%A0%B7%E5%B0%B1%E4%B8%8D%E4%BC%9A%E5%87%BA%E7%8E%B0%E8%BF%99%E7%A7%8D%E5%8F%98%E5%8C%96%E3%80%82%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%3CBR%20%2F%3E%3C%2FDIV%3E%3C%2FDIV%3E%3C%2FLINGO-BODY%3E