MSPM0G3507 GPIO配置 - TI Drivers

在官方例程中的I2C配置以及LED配置

c 复制代码
#define CONFIG_GPIO_LED_0 14
#define CONFIG_GPIO_LED_0_IOMUX (IOMUX_PINCM36)

#define GPIO_I2C_SDA_PIN (35)
#define GPIO_I2C_IOMUX_SDA (IOMUX_PINCM16)
#define GPIO_I2C_IOMUX_SDA_FUNC IOMUX_PINCM16_PF_I2C1_SDA

#define GPIO_I2C_SCL_PIN (34)
#define GPIO_I2C_IOMUX_SCL (IOMUX_PINCM15)
#define GPIO_I2C_IOMUX_SCL_FUNC IOMUX_PINCM15_PF_I2C1_SCL
  1. 为什么PA14的CONFIG_GPIO_LED_0是14,而CONFIG_GPIO_LED_0_IOMUX是IOMUX_PINCM36
  • CONFIG_GPIO_LED_0是14是因为GPIO PIN Number是14
  • CONFIG_GPIO_LED_0_IOMUX是IOMUX_PINCM36
    重点是IOMUX_PINCM36_PF_GPIOA_DIO14
c 复制代码
/* IOMUX_PINCM36[PF] Bits */
#define IOMUX_PINCM36_PF_UNCONNECTED                  ((uint32_t)0X00000000)
#define IOMUX_PINCM36_PF_GPIOA_DIO14                  ((uint32_t)0X00000001)
#define IOMUX_PINCM36_PF_UART0_CTS                    ((uint32_t)0X00000002)
#define IOMUX_PINCM36_PF_SPI0_PICO                    ((uint32_t)0X00000003)
#define IOMUX_PINCM36_PF_UART3_TX                     ((uint32_t)0X00000004)
#define IOMUX_PINCM36_PF_TIMG12_CCP0                  ((uint32_t)0X00000005)
#define IOMUX_PINCM36_PF_SYSCTL_CLK_OUT               ((uint32_t)0X00000006)
  1. I2C中为什么PB2是34, 而PB3是35
    MSPM0G3507 GPIO是从PA0开始到PA31, PA14的索引是14,而PB仍然从PA31的31索引开始编号,PB0则是32,PB1是33, PB2是34, PB3是35。
    这是个人的推理结果
c 复制代码
/* IOMUX_PINCM15[PF] Bits */
#define IOMUX_PINCM15_PF_UNCONNECTED                  ((uint32_t)0X00000000)
#define IOMUX_PINCM15_PF_GPIOB_DIO02                  ((uint32_t)0X00000001)
#define IOMUX_PINCM15_PF_UART3_TX                     ((uint32_t)0X00000002)
#define IOMUX_PINCM15_PF_UART2_CTS                    ((uint32_t)0X00000003)
#define IOMUX_PINCM15_PF_I2C1_SCL                     ((uint32_t)0X00000004)
#define IOMUX_PINCM15_PF_TIMA0_CCP3                   ((uint32_t)0X00000005)
#define IOMUX_PINCM15_PF_UART1_CTS                    ((uint32_t)0X00000006)
#define IOMUX_PINCM15_PF_TIMG6_CCP0                   ((uint32_t)0X00000007)
#define IOMUX_PINCM15_PF_TIMA1_CCP0                   ((uint32_t)0X00000008)

/* IOMUX_PINCM16[PF] Bits */
#define IOMUX_PINCM16_PF_UNCONNECTED                  ((uint32_t)0X00000000)
#define IOMUX_PINCM16_PF_GPIOB_DIO03                  ((uint32_t)0X00000001)
#define IOMUX_PINCM16_PF_UART3_RX                     ((uint32_t)0X00000002)
#define IOMUX_PINCM16_PF_UART2_RTS                    ((uint32_t)0X00000003)
#define IOMUX_PINCM16_PF_I2C1_SDA                     ((uint32_t)0X00000004)
#define IOMUX_PINCM16_PF_TIMA0_CCP3_CMPL              ((uint32_t)0X00000005)
#define IOMUX_PINCM16_PF_UART1_RTS                    ((uint32_t)0X00000006)
#define IOMUX_PINCM16_PF_TIMG6_CCP1                   ((uint32_t)0X00000007)
#define IOMUX_PINCM16_PF_TIMA1_CCP1                   ((uint32_t)0X00000008)
相关推荐
飞睿科技8 小时前
乐鑫智能开关方案解析:基于ESP32-C系列的低功耗、高集成设计
嵌入式硬件·物联网·esp32·智能家居·乐鑫科技
来自晴朗的明天8 小时前
13、NMOS 电源防反接电路
单片机·嵌入式硬件·硬件工程
17(无规则自律)9 小时前
深入浅出 Linux 内核模块,写一个内核版的 Hello World
linux·arm开发·嵌入式硬件
芯岭技术9 小时前
PY32MD310单片机:高性能、低功耗的32位电机控制微控制器
单片机·嵌入式硬件
wotaifuzao10 小时前
STM32 + FreeRTOS 的订阅通知组件架构
stm32·嵌入式硬件·架构·freertos·事件驱动·嵌入式架构
小龙报10 小时前
【51单片机】深度解析 51 串口 UART:原理、配置、收发实现与工程化应用全总结
c语言·开发语言·c++·stm32·单片机·嵌入式硬件·51单片机
Lester_110118 小时前
STM32 高级定时器PWM互补输出模式--如果没有死区,突然关闭PWM有产生瞬间导通的可能吗
stm32·单片机·嵌入式硬件·嵌入式软件
小李独爱秋19 小时前
“bootmgr is compressed”错误:根源、笔记本与台式机差异化解决方案深度指南
运维·stm32·单片机·嵌入式硬件·文件系统·电脑故障
梁洪飞21 小时前
内核的schedule和SMP多核处理器启动协议
linux·arm开发·嵌入式硬件·arm
进击的小头21 小时前
实战案例:51单片机低功耗场景下的简易滤波实现
c语言·单片机·算法·51单片机