This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

关于am335x 触摸屏的问题



各位好,

  我们自己做的板子,软件版本为06.00,接了10.1寸的屏,显示正常,但是触摸屏没有反应,光标也没出现,请问下,触摸屏应该怎么配置?

在board-am335xevm.c中,找到的触摸屏初始化相关的内容只有下面这些,是不是只要改这里就可以了?为什么没有配置管脚?

static struct tsc_data am335x_touchscreen_data  = {
    .wires  = 4,                  
    .x_plate_resistance = 200,       
    .steps_to_configure = 5,
};

static struct adc_data am335x_adc_data = {
    .adc_channels = 4,
};

static struct mfd_tscadc_board tscadc = {
    .tsc_init = &am335x_touchscreen_data,
    .adc_init = &am335x_adc_data,
};

static void mfd_tscadc_init(int evm_id, int profile)
{
    int err;

    err = am33xx_register_mfd_tscadc(&tscadc);
    if (err)
        pr_err("failed to register touchscreen device\n");
}

  • 先确认一下你在板级的配置文件中是否有使能tsc这个模块。你上面给出的这些都是实现,要是在board-am335xevm.c中根本就没有使能的话,上面的改动也是白搭。

  • 还有这些地方

    1、

    static struct pinmux_config tsc_pin_mux[] = {
    {"ain0.ain0", OMAP_MUX_MODE0 | AM33XX_INPUT_EN},
    {"ain1.ain1", OMAP_MUX_MODE0 | AM33XX_INPUT_EN},
    {"ain2.ain2", OMAP_MUX_MODE0 | AM33XX_INPUT_EN},
    {"ain3.ain3", OMAP_MUX_MODE0 | AM33XX_INPUT_EN},
    {"vrefp.vrefp", OMAP_MUX_MODE0 | AM33XX_INPUT_EN},
    {"vrefn.vrefn", OMAP_MUX_MODE0 | AM33XX_INPUT_EN},
    {NULL, 0},
    };

    2、

    static void tsc_init(int evm_id, int profile)
    {
    int err;

    setup_pin_mux(tsc_pin_mux);
    err = am33xx_register_tsc(&am335x_touchscreen_data);
    if (err)
    pr_err("failed to register touchscreen device\n");
    }

    3、

    {tsc_init, DEV_ON_DGHTR_BRD, (PROFILE_0 | PROFILE_1 |
    PROFILE_2 | PROFILE_7) },

  • 感谢您的回复,

      换的是电容屏,要换驱动,刚开始没搞清楚,还有,我想问一下,系统的启动界面颜色偏蓝,但是进入qt图形界面颜色就正常,LCD参数需要改哪里?

  • 这是没初始化好的原因吧,如果QT的颜色是正常的,我感觉没影响啊

  • 电容屏的接口是I2C的么?我们的AM335x是可以配合I2C 电容屏驱动正常工作的。

    系统的启动界面偏蓝,会不会是背光的问题呢?