Skip to content

Commit 7f6749a

Browse files
committed
修复n947开发板arduino接口串口无法使用的问题.
1 parent a69d381 commit 7f6749a

2 files changed

Lines changed: 52 additions & 1 deletion

File tree

bsp/nxp/mcx/mcxn/frdm-mcxn947/board/SConscript

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ if GetDepend(['PKG_USING_CJSON']) and GetDepend(['PKG_USING_WEBCLIENT']):
2424

2525

2626
CPPPATH = [cwd, cwd + '/MCUX_Config/board']
27-
CPPDEFINES = ['DEBUG', 'CPU_MCXN947VDF_cm33_core0']
27+
CPPDEFINES = ['DEBUG', 'CPU_MCXN947VDF_cm33_core0', 'LPFLEXCOMM_INIT_NOT_USED_IN_DRIVER=1']
2828

2929
group = DefineGroup('Drivers', src, depend = [''], CPPPATH = CPPPATH, CPPDEFINES=CPPDEFINES)
3030

bsp/nxp/mcx/mcxn/frdm-mcxn947/board/board.c

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,57 @@ void SysTick_Handler(void)
3434
rt_interrupt_leave();
3535
}
3636

37+
/**
38+
* This function will initial the FlexComm mode.
39+
* +--------+----------------+--------+--------+--------------+
40+
* | Signal | LPSPI | LPUART | LPI2C | LPUART+LPI2C |
41+
* +--------+----------------+--------+--------+--------------+
42+
* | FC_P0 | SDO/DATA[0] | RXD | SDA | SDA |
43+
* | FC_P1 | SCK | TXD | SCL | SCL |
44+
* | FC_P2 | SDI/DATA[1] | RTS_b | SCLS | TXD |
45+
* | FC_P3 | PCS[0] | CTS_b | SDAS | RXD |
46+
* | FC_P4 | PCS[3]/DATA[3] | DSR_b | HREQ_b | CTS_b |
47+
* | FC_P5 | PCS[2]/DATA[2] | DTR_b | — | RTS_b |
48+
* | FC_P6 | PCS[1]/HREQ | DCD_b | — | HREQ_b |
49+
* +--------+----------------+--------+--------+--------------+
50+
*/
51+
void rt_hw_flexcomm_mode_init(void)
52+
{
53+
#ifdef BSP_USING_UART2
54+
LP_FLEXCOMM_Init(2, LP_FLEXCOMM_PERIPH_LPI2CAndLPUART); /* FLEXCOMM2 used for LPI2C and LPUART */
55+
#endif
56+
#ifdef BSP_USING_UART4
57+
LP_FLEXCOMM_Init(4, LP_FLEXCOMM_PERIPH_LPUART); /* FLEXCOMM4 used for LPUART */
58+
#endif
59+
#ifdef BSP_USING_UART5
60+
LP_FLEXCOMM_Init(5, LP_FLEXCOMM_PERIPH_LPUART); /* FLEXCOMM5 used for LPUART */
61+
#endif
62+
#ifdef BSP_USING_UART6
63+
LP_FLEXCOMM_Init(6, LP_FLEXCOMM_PERIPH_LPUART); /* FLEXCOMM6 used for LPUART */
64+
#endif
65+
#ifdef BSP_USING_SPI1
66+
LP_FLEXCOMM_Init(2, LP_FLEXCOMM_PERIPH_LPSPI); /* FLEXCOMM2 used for LPI2C and LPUART */
67+
#endif
68+
#ifdef BSP_USING_SPI3
69+
LP_FLEXCOMM_Init(3, LP_FLEXCOMM_PERIPH_LPSPI); /* FLEXCOMM3 used for LPSPI */
70+
#endif
71+
#ifdef BSP_USING_SPI6
72+
LP_FLEXCOMM_Init(6, LP_FLEXCOMM_PERIPH_LPSPI); /* FLEXCOMM6 used for LPSPI */
73+
#endif
74+
#ifdef BSP_USING_SPI7
75+
LP_FLEXCOMM_Init(7, LP_FLEXCOMM_PERIPH_LPSPI); /* FLEXCOMM7 used for LPSPI */
76+
#endif
77+
#ifdef BSP_USING_I2C0
78+
LP_FLEXCOMM_Init(0, LP_FLEXCOMM_PERIPH_LPI2C); /* FLEXCOMM0 used for LPI2C */
79+
#endif
80+
#ifdef BSP_USING_I2C1
81+
LP_FLEXCOMM_Init(1, LP_FLEXCOMM_PERIPH_LPI2C); /* FLEXCOMM1 used for LPI2C */
82+
#endif
83+
#ifdef BSP_USING_I2C2
84+
LP_FLEXCOMM_Init(2, LP_FLEXCOMM_PERIPH_LPI2C); /* FLEXCOMM2 used for LPI2C */
85+
#endif
86+
}
87+
3788
/**
3889
* This function will initial board.
3990
*/

0 commit comments

Comments
 (0)