[技术问答] SYS->GPB_MFP和 SYS->ALT_MFP有啥区别?

[复制链接]
 楼主| haunghua 发表于 2020-2-22 10:16 | 显示全部楼层 |阅读模式
#define SYS_GPB_MFP_PB15_TM0_EXT    (1UL<<15)           /*!< GPB_MFP PB.15 setting for TM0_EXT */
#define SYS_ALT_MFP_PB15_TM0_EXT    (1UL<<24)           /*!< ALT_MFP PB.15 setting for TM0_EXT */

    SYS->GPB_MFP &= ~(SYS_GPB_MFP_PB8_Msk | SYS_GPB_MFP_PB15_Msk);
    SYS->GPB_MFP |= (SYS_GPB_MFP_PB8_TM0 | SYS_GPB_MFP_PB15_TM0_EXT);
    SYS->ALT_MFP &= ~(SYS_ALT_MFP_PB15_Msk);
    SYS->ALT_MFP |= SYS_ALT_MFP_PB15_TM0_EXT;  

SYS->GPB_MFP和  SYS->ALT_MFP到底有啥区别?哪个是配置IO的复用功能的??
gejigeji521 发表于 2020-2-22 13:51 | 显示全部楼层
这是哪个单片机的啊?
gejigeji521 发表于 2020-2-22 13:52 | 显示全部楼层
GPB和ALT是啥区别,你去手册看看。
gejigeji521 发表于 2020-2-22 13:52 | 显示全部楼层
还有你这个是哪个系列的,我在M0系列头文件里面没看到
zhuotuzi 发表于 2020-2-22 16:04 | 显示全部楼层
楼主不说是哪个系列型号的,谁知道去哪儿找啊。
zhuotuzi 发表于 2020-2-22 16:04 | 显示全部楼层
新塘的不同系列配置不同,可能定义的宏业不同。
 楼主| haunghua 发表于 2020-2-23 12:37 来自手机 | 显示全部楼层
gejigeji521 发表于 2020-2-22 13:51
这是哪个单片机的啊?

新塘NUC131
 楼主| haunghua 发表于 2020-2-23 12:38 来自手机 | 显示全部楼层
zhuotuzi 发表于 2020-2-22 16:04
楼主不说是哪个系列型号的,谁知道去哪儿找啊。

新塘NUC131
wahahaheihei 发表于 2020-2-23 17:37 | 显示全部楼层

  1. /* How to use below #define?
  2. Example: If user want to set PA.0 as ADC0 and PA.1 as ADC1 in initial function,
  3.          user can issue following command to achieve it.

  4.          SYS->GPA_MFP  = SYS_GPA_MFP_PA0_ADC0  | SYS_GPA_MFP_PA1_ADC1;
  5.          SYS->ALT_MFP3 = SYS_ALT_MFP3_PA0_ADC0 | SYS_ALT_MFP3_PA1_ADC1;
  6.          SYS->ALT_MFP4 = SYS_ALT_MFP4_PA0_ADC0 | SYS_ALT_MFP4_PA1_ADC1;
  7. */

  8. //PA.0
  9. #define SYS_GPA_MFP_PA0_GPIO        0x00000000UL        /*!< GPA_MFP PA.0 setting for GPIO */
  10. #define SYS_ALT_MFP_PA0_GPIO        0UL                 /*!< No ALT_MFP setting for PA.0 */
  11. #define SYS_ALT_MFP1_PA0_GPIO       0UL                 /*!< No ALT_MFP1 setting for PA.0 */
  12. #define SYS_ALT_MFP2_PA0_GPIO       0UL                 /*!< No ALT_MFP2 setting for PA.0 */
  13. #define SYS_ALT_MFP3_PA0_GPIO       0x00000000UL        /*!< ALT_MFP3 PA.0 setting for GPIO */
  14. #define SYS_ALT_MFP4_PA0_GPIO       0x00000000UL        /*!< ALT_MFP4 PA.0 setting for GPIO */
wahahaheihei 发表于 2020-2-23 18:45 | 显示全部楼层
Alternative Multiple Function Pin Control Register
wahahaheihei 发表于 2020-2-23 18:45 | 显示全部楼层
Alternative Multiple Function Pin Control Register
wahahaheihei 发表于 2020-2-23 18:46 | 显示全部楼层
说明一个问题,这个多功能引脚的功能选择需要多个寄存器配置才能实现。
wahahaheihei 发表于 2020-2-23 18:46 | 显示全部楼层
然后起了不同的名字。
wahahaheihei 发表于 2020-2-23 18:46 | 显示全部楼层
按照头文件中的说明方式使用就行了。
wahahaheihei 发表于 2020-2-23 18:46 | 显示全部楼层
我看库函数中也有例子演示。
捉虫天师 发表于 2020-2-23 19:33 | 显示全部楼层
两个不同的寄存器而已
jasontu 发表于 2020-2-24 08:47 | 显示全部楼层
因為功能腳位的切換,多較多的功能腳位,所以需要另外的寄存器作切換。
gejigeji521 发表于 2020-2-24 11:59 | 显示全部楼层

这个单片机的管脚服用比较多,所以每个管脚的功能切换需要较多的寄存器一起配合才能实现。
Harvard 发表于 2020-2-24 21:52 | 显示全部楼层
本帖最后由 Harvard 于 2020-2-24 22:59 编辑

一个是告诉你 不是普通的io口, 另外一个告诉你 ,是复用功能的中的 一个具体的功能. 没毛病
154585e53e3b150014.png
312535e53e4522f96a.png
690895e53e4c4bf290.png
643757107 发表于 2020-2-25 13:30 | 显示全部楼层
Harvard 发表于 2020-2-24 21:52
一个是告诉你 不是普通的io口, 另外一个告诉你 ,是复用功能的中的 一个具体的功能. 没毛病

大佬研究的细致,这让我也学到了不少啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

24

主题

77

帖子

0

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

24

主题

77

帖子

0

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