[技术问答] 关于新唐M0单片机的ALT_MFP寄存器的秘密

[复制链接]
1613|4
 楼主| Harvard 发表于 2016-4-3 23:52 | 显示全部楼层 |阅读模式
如题, 在使用新唐M0518的过程中,忽然发现ALT_MFP的这个神器, 到底是做什么用场的呢? 为何M0516这样的基础性M0没有呢. 请熟悉的朋友答疑解惑, 是因为M0518的单个引脚的复用功能脚多,同样的串口,可以选择放在多个io端口中的一个吗?
598330983 发表于 2016-4-4 22:01 | 显示全部楼层
规定的端口,不可以重定向。
ccw1986 发表于 2016-4-6 22:15 | 显示全部楼层
这个端口有特殊的用处吧
Thethree 发表于 2016-4-7 09:16 | 显示全部楼层
现在每个IO的复用功能都特别的大啊
 楼主| Harvard 发表于 2016-4-7 10:05 | 显示全部楼层
嗯 已经搞定了 在用M0518的时候, 其实利用nuvoton的 pinconfig工具就好了 自动生产代码 ,

自动一个引脚去设置还是比较麻烦.




  1.     //If the defines do not exist in your project, please refer to the related sys.h in the sys_h folder appended to the tool package.
  2.     SYS->ALT_MFP = 0x00000000;
  3.     SYS->ALT_MFP2 = 0x00000000;
  4.     SYS->ALT_MFP3 = 0x00000000;
  5.     SYS->ALT_MFP4 = SYS_ALT_MFP4_PA3_UART3_RXD  | SYS_ALT_MFP4_PA2_UART3_TXD |
  6.                     SYS_ALT_MFP4_PA1_UART5_RXD  | SYS_ALT_MFP4_PA0_UART5_TXD;
  7.     SYS->GPA_MFP =  SYS_GPA_MFP_PA3_UART3_RXD   | SYS_GPA_MFP_PA2_UART3_TXD |
  8.                     SYS_GPA_MFP_PA1_UART5_RXD   | SYS_GPA_MFP_PA0_UART5_TXD;
  9.     SYS->GPB_MFP =  SYS_GPB_MFP_PB5_UART1_TXD   | SYS_GPB_MFP_PB4_UART1_RXD |
  10.                     SYS_GPB_MFP_PB1_UART0_TXD   | SYS_GPB_MFP_PB0_UART0_RXD;
  11.     SYS->GPC_MFP = SYS_GPC_MFP_PC7_UART4_RXD    | SYS_GPC_MFP_PC6_UART4_TXD;
  12.     SYS->GPD_MFP = SYS_GPD_MFP_PD15_UART2_TXD   | SYS_GPD_MFP_PD14_UART2_RXD;
  13.     SYS->GPF_MFP = SYS_GPF_MFP_PF7_ICE_DAT      | SYS_GPF_MFP_PF6_ICE_CLK;
您需要登录后才可以回帖 登录 | 注册

本版积分规则

74

主题

1732

帖子

21

粉丝
快速回复 在线客服 返回列表 返回顶部