最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

linux adc驱动(基于三星通用adc api)

IT圈 admin 45浏览 0评论

2023年12月11日发(作者:东香菱)

linux adc驱动(基于三星通用adc api)

linux adc驱动(基于三星通用adc api)

硬件平台: 基于讯为开发板itop4412 scp 1G

驱动说明:

本驱动基于三星提供的通用api函数来实现的,具体adc寄存器操作有三星公司实 现,我们要做的是调用三星公司提供的api来实现我们自己的功能。下面对相关的结构体和api函数进行解析

[cpp] view plain copy

struct s3c_adc_client {

struct platform_device *pdev;

struct list_head pend;

wait_queue_head_t *wait;

unsigned int nr_samples;

int result;

unsigned char is_ts;

unsigned char channel;

void (*select_cb)(struct s3c_adc_client *c, unsigned selected);

void (*convert_cb)(struct s3c_adc_client *c,

unsigned val1, unsigned val2,

unsigned *samples_left);

};

一个具体s3c_adc_client结构体来描述一个具体的客户(一个具体的驱动)

2.我们需要在驱动中构建这个驱动,并且注册到linux的内核

[cpp] view plain copy

struct s3c_adc_client *s3c_adc_register(struct platform_device *pdev,

void (*select)(struct s3c_adc_client *client,

unsigned int selected),

void (*conv)(struct s3c_adc_client *client,

unsigned d0, unsigned d1,

unsigned *samples_left),

2023年12月11日发(作者:东香菱)

linux adc驱动(基于三星通用adc api)

linux adc驱动(基于三星通用adc api)

硬件平台: 基于讯为开发板itop4412 scp 1G

驱动说明:

本驱动基于三星提供的通用api函数来实现的,具体adc寄存器操作有三星公司实 现,我们要做的是调用三星公司提供的api来实现我们自己的功能。下面对相关的结构体和api函数进行解析

[cpp] view plain copy

struct s3c_adc_client {

struct platform_device *pdev;

struct list_head pend;

wait_queue_head_t *wait;

unsigned int nr_samples;

int result;

unsigned char is_ts;

unsigned char channel;

void (*select_cb)(struct s3c_adc_client *c, unsigned selected);

void (*convert_cb)(struct s3c_adc_client *c,

unsigned val1, unsigned val2,

unsigned *samples_left);

};

一个具体s3c_adc_client结构体来描述一个具体的客户(一个具体的驱动)

2.我们需要在驱动中构建这个驱动,并且注册到linux的内核

[cpp] view plain copy

struct s3c_adc_client *s3c_adc_register(struct platform_device *pdev,

void (*select)(struct s3c_adc_client *client,

unsigned int selected),

void (*conv)(struct s3c_adc_client *client,

unsigned d0, unsigned d1,

unsigned *samples_left),

发布评论

评论列表 (0)

  1. 暂无评论