恩智浦LPC1549@eeworld ( 三 ) NXP的LPC1549的创新特性-开关矩阵Switch Matrix
恩智浦LPC1549@eeworld ( 三 ) NXP的LPC1549的创新特性-开关矩阵Switch Matrix
一、了解
NXP在ARM Cortex M0+LPC800加入这个重要创新特性开关矩阵SWM,同时在LPC1549中也增加SWM功能。
简单的说:LPC内部的数字外设资源(UART,I2C,SPI,CAN等等)通过SWM,切换到任意自己想要的管脚上。使的设计人员可以几乎任一引脚分配片内外设I/O,大大减少硬件设计的布局,走线的工作量,提高灵活性。
二、学习
我们通过DEMO看看 怎么使用SWM的。
1、打开DEMO工程:periph_uart_rom_polling
当前默认的程序使UART的TXD脚分配在P0_18
我们可以自己修改换到P0_10。
static voidInit_UART0_PinMux(void)
{
/* UART signals on pins PIO0_13 (FUNC0,U0_TXD) and PIO0_10 (FUNC0, U0_RXD) */
Chip_IOCON_PinMuxSet(LPC_IOCON, 0, 13,(IOCON_FUNC0 | IOCON_MODE_INACT | IOCON_DIGMODE_EN));
Chip_IOCON_PinMuxSet(LPC_IOCON, 0, 10,(IOCON_FUNC0 | IOCON_MODE_INACT | IOCON_DIGMODE_EN));
/* UART signal muxing via SWM */
Chip_SWM_MovablePortPinAssign(SWM_UART0_RXD_I,0, 13);
Chip_SWM_MovablePortPinAssign(SWM_UART0_TXD_O,0, 10);//10
}
简单编译,烧制,就可以在P0_10看到UART0的txd信号在此脚上输出。