[原创] 恩智浦LPC1549@eeworld ( 三 ) NXP的LPC1549的创新特性-开关矩阵Switch Matrix

蓝雨夜   2014-4-23 13:30 楼主
恩智浦LPC1549@eeworld ( 三 ) NXP的LPC1549的创新特性-开关矩阵Switch Matrix
恩智浦LPC1549@eeworld ( ) NXPLPC1549的创新特性-开关矩阵Switch Matrix
一、了解
NXPARM Cortex M0+LPC800加入这个重要创新特性开关矩阵SWM,同时在LPC1549中也增加SWM功能。
n1.PNG
n2.PNG
简单的说:LPC内部的数字外设资源(UARTI2CSPICAN等等)通过SWM,切换到任意自己想要的管脚上。使的设计人员可以几乎任一引脚分配片内外设I/O,大大减少硬件设计的布局,走线的工作量,提高灵活性。
二、学习
我们通过DEMO看看 怎么使用SWM的。
1、打开DEMO工程:periph_uart_rom_polling
               n3.PNG
当前默认的程序使UARTTXD脚分配在P0_18
n5.PNG
我们可以自己修改换到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看到UART0txd信号在此脚上输出。

回复评论 (3)


  1. Chip_IOCON_PinMuxSet(LPC_IOCON, 0, 13, (IOCON_FUNC0 | IOCON_MODE_INACT | IOCON_DIGMODE_EN));

配置参数中的宏定义有点儿看不明白,根据LPC15xx用户手册中的描述(P113),bit7这一位应该是保留的。


点赞  2014-6-22 21:55
有没有参考程序???
点赞  2016-4-26 00:01
你好,请问能把你的那个中文参考手册发一下吗
点赞  2018-12-28 19:22
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复