Edit online

参数配置

4 Dec 2024
Read time: 2 minute(s)

以 D211DC-DEMO-V1.0 开发板为例,I2C 接口 3 用于与触摸屏设备通信,原理图如下:


CTP_interface2

另外根据芯片手册 > 4 引脚复用 章节可知:
  • 通信接口为 I2C3,Master 模式

  • PA8 为 RST

  • PA9 为 INT

  • PA10 为 I2C3_SCL

  • PA11 为 I2C3_SDA

需配置:
  • 驱动配置

  • pinmux 配置

驱动配置

  1. master 驱动使能
    Board options  --->
            [ ] Using i2c0
            [ ] Using i2c1
            [ ] Using i2c2
            [*] Using i2c3
                    i2c3 parameter  --->
                            [ ] Using I2C3 10-bit Addr(default 7-bit addr)
                            [ ] Using I2C3 Stand Speed(default fast speed)
                            [ ] Using I2C3 Slave Mode(default master mode)
    
  2. slave 驱动使能
    Board options  --->
            [ ] Using i2c0
            [ ] Using i2c1
            [ ] Using i2c2
            [*] Using i2c3
                    i2c3 parameter  --->
                            [ ] Using I2C3 10-bit Addr(default 7-bit addr)
                            [ ] Using I2C3 Stand Speed(default fast speed)
                            [*] Using I2C3 Slave Mode(default master mode)
                            (80) I2C3 Slave Addr
    
    注:

    从机模式输入的 80 是 10 进制的,换算成 16 进制就是 0x50

  3. master 中断模式使能
    Drivers options  --->
        [*] Support I2c Dev Interrupt Mode
    
    注:

    如果这里不进行配置,默认是使用轮询模式进行数据传输

Pinmux 配置

pinmux.c 的完整路径是 target/$(CPU)/$(BOARD)/pinmux.c, 例如 D211DC-DEMO-V1-0 开发板, demo100-nand 配置的 pinmux.c即为 target/d21x/demo100-nand/pinmux.c

根据原理图,添加如下引脚配置
struct aic_pinmux aic_pinmux_config[] = {
...
#ifdef AIC_USING_I2C3
    {1, PIN_PULL_DIS, 3, "PA.8"},  // RST
    {1, PIN_PULL_DIS, 3, "PA.9"},  // INT
    {4, PIN_PULL_DIS, 3, "PA.10"}, // SCK
    {4, PIN_PULL_DIS, 3, "PA.11"}, // SDA
#endif
...
}