DM365配置TVP5158为单路BT656格式代码

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <sys/ioctl.h>
#include <errno.h>
#include "linux/i2c.h"
#include "linux/i2c-dev.h"

#define I2C_DEVICE "/dev/i2c/0"
#define I2C_FAILURE 0
#define I2C_SUCCESS 1

static int thisi2c_init(unsigned long i2cslaveaddr);
static int thisi2c_exit(void);

static int i2c_fd = -1;
static int thisi2c_init(unsigned long i2cslaveaddr)
{
    unsigned char buf[2];
 if (i2c_fd != -1) {
        return I2C_FAILURE;
    }

    i2c_fd = open(I2C_DEVICE, O_RDWR);

    if (i2c_fd < 0) {
  printf("open error!/n");
        return I2C_FAILURE;
    }
   if (ioctl(i2c_fd, I2C_SLAVE, i2cslaveaddr) == -1) {
      printf("addr error!");
        return I2C_FAILURE;
    } 
 /*buf[0]=0x10;
 buf[1]=0x10;
 if(write(i2c_fd,buf,2)!=1)
 {
  return I2C_FAILURE;
 } */
    return I2C_SUCCESS;
}

//
int tvp5158reset()
{

}
int main()//memory
{
 int ret;
 unsigned char buf[2];
 unsigned char add;
 unsigned char val;

 ret=thisi2c_init(91);
 
 for(add=0x00;add<0xff;add++)
 {
  write(i2c_fd,&add,1);
  read(i2c_fd,&val,1);
  printf("add 0x%x -------val 0x%x/n",add,val);
 }
 buf[0]=0xfe;
 buf[1]=0x01;
 write(i2c_fd,buf,2);

 buf[0]=0xb0;
 buf[1]=0x00;
 write(i2c_fd,buf,2);

 buf[0]=0xb1;
 buf[1]=0x10;
 write(i2c_fd,buf,2);

 buf[0]=0xb2;
 buf[1]=0x0d;
 write(i2c_fd,buf,2);

 buf[0]=0xb3;
 buf[1]=0xe1;
 write(i2c_fd,buf,2);


 buf[0]=0xba;
 buf[1]=0x01;
 write(i2c_fd,buf,2);
 sleep(1);
 buf[0]=0xba;
 buf[1]=0x00;
 write(i2c_fd,buf,2);


 thisi2c_exit();
 
}

//
static int thisi2c_exit(void)
{
    if (i2c_fd == -1) {
        return I2C_FAILURE;
    }

    if (close(i2c_fd) == -1) {
        return I2C_FAILURE;
    }

    i2c_fd = -1;

    return I2C_SUCCESS;
}
//
int pcf8574t_exit(void)
{
 return(thisi2c_exit() );
}


BY WISHMASTER

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值