OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3398|回复: 1

6ull的7寸屏 I2C读写问题,写寄存器无法判断是否成功

[复制链接]

3

主题

10

帖子

0

精华

新手上路

积分
21
金钱
21
注册时间
2022-1-28
在线时间
6 小时
发表于 2022-1-29 20:12:22 | 显示全部楼层 |阅读模式
1金钱
使用正点原子提供的源码 ft5x06.c 文件,在下面的代码中加入打印后,发现返回值始终是 0,根本不像视频可以读到中断模式寄存器的值。怀疑这里的操作根本连 I2C 写都没成功,现在根本没办法判断对 ft5406 的操作是否成功,对两个寄存器的读都是 0 值,不管写入什么样的值:
    /* 4,初始化FT5X06 */
    ft5x06_write_reg(&ft5x06, FT5x06_DEVICE_MODE_REG, 0);   /* 进入正常模式   */
    ft5x06_write_reg(&ft5x06, FT5426_IDG_MODE_REG, 1);      /* FT5426中断模式   */

    ret = ft5x06_read_reg(&ft5x06, FT5426_IDG_MODE_REG);
    printk("ret = %#x", ret);


I2C 读写代码是正点原子原装的,代码如下:
static int ft5x06_read_regs(struct ft5x06_dev *dev, u8 reg, void *val, int len)
{
    int ret;
    struct i2c_msg msg[2];
    struct i2c_client *client = (struct i2c_client *)dev->client;

    /* msg[0]为发送要读取的首地址 */
    msg[0].addr = client->addr;         /* ft5x06地址 */
    msg[0].flags = 0;                   /* 标记为发送数据 */
    msg[0].buf = ®                  /* 读取的首地址 */
    msg[0].len = 1;                     /* reg长度*/

    /* msg[1]读取数据 */
    msg[1].addr = client->addr;         /* ft5x06地址 */
    msg[1].flags = I2C_M_RD;            /* 标记为读取数据*/
    msg[1].buf = val;                   /* 读取数据缓冲区 */
    msg[1].len = len;                   /* 要读取的数据长度*/

    ret = i2c_transfer(client->adapter, msg, 2);
    if(ret == 2) {
        ret = 0;
    } else {
        ret = -EREMOTEIO;
    }
    return ret;
}

static unsigned char ft5x06_read_reg(struct ft5x06_dev *dev, u8 reg)
{
    u8 data = 0;

    ft5x06_read_regs(dev, reg, &data, 1);
    return data;

#if 0
    struct i2c_client *client = (struct i2c_client *)dev->client;
    return i2c_smbus_read_byte_data(client, reg);
#endif
}





正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

10

帖子

0

精华

新手上路

积分
21
金钱
21
注册时间
2022-1-28
在线时间
6 小时
 楼主| 发表于 2022-1-29 22:32:06 | 显示全部楼层
已经解决,视频和教程都有问题 FT5426并没有中断配置寄存器 0xa4,默认就是中断模式,并不需要配置,而且在 FT5x06 系列中,0xa4 也是只读寄存器,并不需要去配置,不知道视频和正点原子提供的源码中为什么要这么操作,而且居然还能设置进去值。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-25 12:38

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表