嵌入式学习资料--华清远见培训驱动源码


本人在华清远见培训嵌入式期间整理的部分驱动代码,方便初学者学习。
资源截图
代码片段和文件信息
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 

#define I2C_RDWR 0x0707 

/*********定义struct i2c_rdwr_ioctl_data和struct
 * i2c_msg,要和内核一致*******/

struct i2c_msg
{
unsigned short addr;
unsigned short flags;
unsigned short len;
unsigned char *buf;
};

struct i2c_rdwr_ioctl_data
{
struct i2c_msg *msgs;
int nmsgs; 
/* nmsgs这个数量决定了有多少开始信号,对于“单开始时序”,取1*/
};

/***********主程序***********/
int main()
{
int fd i;
struct i2c_rdwr_ioctl_data pm_data;
struct i2c_msg msgs[2];

if ((fd = open(“/dev/i2c-0“O_RDWR)) < 0)
{
perror(“open error“);
exit(-1);
}

msgs[0].addr = 0x2d; // tps659101 设备地址
msgs[0].flags = 0; // write
msgs[0].len = 2; 
msgs[0].buf = (unsigned char *)malloc(2);
msgs[0].buf[0] = 0x33; //vaux2 register address
msgs[0].buf[1] = 0xd;

pm_data.msgs = msgs;
pm_data.nmsgs = 1; 

#if 1
if (ioctl(fd I2C_RDWR (unsigned long)&pm_data) < 0)
{
perror(“ioctl error 1“);
exit(-1);
}
printf(“write over...
“);
#endif
/*******************************************************************/
#if 0
usleep(100000);
msgs[0].addr = 0x50; // at24c02a 设备地址
msgs[0].flags = 0; // write
msgs[0].len = 1; 
msgs[0].buf[0] = 0x0; //address in at24c02a

msgs[1].addr = 0x50; // at24c02a 设备地址 
msgs[1].flags = 1; // read
msgs[1].len = 8; // len for read
msgs[1].buf = malloc(8);//  read content

e2prom_data.msgs = msgs;
e2prom_data.nmsgs = 2; 

if (ioctl(fd I2C_RDWR (unsigned long)&e2prom_data) < 0)
{
perror(“ioctl error 2“);
exit(-1);
}

for (i=0; i<8; i++)
{
printf(“0x%x “ msgs[1].buf[i]);
}
printf(“
“);
#endif
close(fd);

return 0;
}


 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       1837  2013-10-14 10:10  驱动开发adc_power.c

     文件        378  2013-06-23 14:18  驱动开发locksbullMakefile

     文件       8380  2013-06-20 16:16  驱动开发locksbullsbull.c

     文件      42042  2013-06-26 15:16  驱动开发dm9000.c

     文件      27403  2013-04-12 09:06  驱动开发DM9000寄存器说明.docx

     文件        378  2013-06-23 14:18  驱动开发driverlocksbullMakefile

     文件       8380  2013-06-20 16:16  驱动开发driverlocksbullsbull.c

     文件      42042  2013-06-26 15:16  驱动开发driverdm9000.c

     文件      27403  2013-04-12 09:06  驱动开发driverDM9000寄存器说明.docx

     文件       1837  2013-10-14 10:10  驱动开发driverfs210_adcadc_power.c

     文件       4114  2013-10-14 14:13  驱动开发driverfs210_adcfs210_adc.c

     文件       6889  2013-10-12 14:11  驱动开发driverfs210_asyncfs210_key_all.c

     文件        533  2013-10-12 14:11  驱动开发driverfs210_asynckey_test_async.c

     文件       6050  2013-10-11 14:08  驱动开发driverfs210_keyfs210_key.c

     文件        402  2012-07-01 12:30  驱动开发driverfs210_keykey_test.c

     文件       2976  2013-10-12 16:03  驱动开发driverfs210_wtdfs210_wdt.c

     文件        532  2013-10-12 16:03  驱动开发driverfs210_wtdwdt_test.c

     文件       3267  2013-09-02 13:27  驱动开发driverpwmfs210_pwm.c

     文件        171  2013-09-02 13:19  驱动开发driverpwmfs210_pwm.h

     文件       1015  2013-09-02 13:17  驱动开发driverpwmpwm_music.c

     文件       5048  2013-06-07 15:46  驱动开发driverpwmpwm_music.h

     文件       1755  2013-10-14 16:52  驱动开发drivers5pv210_e2prome2prom_app_mode.c

     文件       8149  2013-10-15 10:39  驱动开发drivers5pv210_i2ce2prom_test

     文件       1047  2013-10-15 11:57  驱动开发drivers5pv210_i2ce2prom_test.c

     文件       3936  2013-10-15 11:57  驱动开发drivers5pv210_i2cfs210_e2prom.c

     文件      94829  2013-10-15 10:39  驱动开发drivers5pv210_i2cfs210_e2prom.ko

     文件       1755  2013-10-14 16:52  驱动开发e2prom_app_mode.c

     文件       1121  2013-09-09 09:48  驱动开发ex1-hello-worldhello.c

     文件        422  2012-07-04 11:05  驱动开发ex1-hello-worldMakefile

     文件        474  2011-03-10 08:29  驱动开发ex1-hello-worldREADME

............此处省略331个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)