当前位置: 首页 > news >正文

做商城网站要多少钱最新电大网站开发维护

做商城网站要多少钱,最新电大网站开发维护,wordpress 多网址,东城免费做网站一. 简介 Linux下的SPI 驱动框架和 I2C 很类似,都分为主机控制器驱动和设备驱动,主机控制器也就是 SOC的 SPI 控制器接口,SPI设备驱动也就是所操作的SPI设备的驱动。 本文来学习一下Linux下SPI设备驱动。 二. Linux下SPI驱动:SP…

一. 简介

Linux下的SPI 驱动框架和 I2C 很类似,都分为主机控制器驱动和设备驱动,主机控制器也就是 SOC的 SPI 控制器接口,SPI设备驱动也就是所操作的SPI设备的驱动。

本文来学习一下Linux下SPI设备驱动。

二. Linux下SPI驱动:SPI设备驱动简介

1. spi_driver 结构体

spi 设备驱动也和 i2c 设备驱动也很类似, Linux 内核使用 spi_driver 结构体来表示 spi 设备 驱动,我们在编写 SPI 设备驱动的时候需要实现 spi_driver spi_driver 结构体定义在 include/linux/spi/spi.h 文件中,结构体内容如下:
struct spi_driver {const struct spi_device_id *id_table;int			(*probe)(struct spi_device *spi);int			(*remove)(struct spi_device *spi);void			(*shutdown)(struct spi_device *spi);struct device_driver	driver;
};

可以看出,spi_driver i2c_driverplatform_driver 基本一样,当 SPI 设备和驱动匹配成功以后 probe 函数就会执行。

2. SPI设备驱动注册与注销

同样的, spi_driver 初始化完成以后需要向 Linux 内核注册, spi_driver 注册函数为spi_register_driver函数 ,函数原型如下:
int spi_register_driver(struct spi_driver *sdrv)
函数参数和返回值含义如下:
sdrv 要注册的 spi_driver
返回值: 0 ,注册成功;赋值,注册失败。

注销 SPI 设备驱动以后也需要注销掉前面注册的 spi_driver ,使用 spi_unregister_driver 函数完成 spi_driver 的注销,函数原型如下:
void spi_unregister_driver(struct spi_driver *sdrv)
函数参数和返回值含义如下:
sdrv 要注销的 spi_driver。
返回值: 无。

三.  spi_driver 注册示例代码

SPI设备驱动的注册示例代码,即spi_driver 注册示例程序如下:
/*SPI设备驱动的注册示例代码*/
/* probe 函数 */
static int probe(struct spi_device* dev)
{//具体的函数内容return 0;
}/* remove 函数 */
static int remove(struct spi_device* dev)
{   //具体的函数内容return 0;
} /* 传统匹配方式 ID 列表 */
static struct spi_device_id xxx_id_table[] = {{"xxx", 0},{}
};/* 设备树匹配列表 */
static struct of_device_id xxx_of_match_table[] = {{.compatible = "xxx"},{}
};/* SPI 驱动结构体 */
static struct spi_driver xxx_spi_driver = {.driver = {.name = "xxx_spi",.owner = THIS_MODULE,.of_match_table = xxx_of_match_table,},.id_table = xxx_id_table,.probe = xxx_probe,.remove = xxx_remove,
};/* 驱动入口函数 */
static int __init xxx_init(void)
{spi_register_driver(&xxx_spi_driver); //SPI设备驱动的注册
}
/* 驱动出口函数 */
static void __exit xxx_exit(void)
{spi_unregister_driver(&xxx_spi_driver); //SPI设备驱动的注销
}module_init(xx_init);
module_exit();

1~38 行, spi_driver 结构体,需要 SPI 设备驱动人员编写,包括匹配表、 probe 函数等。
i2c_driver platform_driver 一样,就不详细讲解了。
41~44 行,在驱动入口函数中,调用 spi_register_driver 来注册 spi_driver
46~49 行,在驱动出口函数中,调用 spi_unregister_driver 来注销 spi_driver

http://www.yayakq.cn/news/997729/

相关文章:

  • 企业网站整合设计在线观看免费2014
  • 淘宝开放平台怎么做淘宝客网站天元建设集团有限公司商票逾期
  • 中山网站建设哪家便宜南宁市网页设计
  • 初二怎么做网站vi设计是设计什么
  • 家具网站建设规划农机局网站建设方案
  • vps网站压缩做奢侈品的网站
  • 河南建设厅官方网站优化整站
  • 大连建站软件广西建设工程信息网
  • 个人网站建设一般流程怎样在建设部网站下载规范
  • 口碑好的邯郸网站建设阳泉网站建设费用
  • 加拿大28网站建设wordpress.exe
  • 沈阳h5响应式网站建设网站开发公司一站式服务
  • 在阿里云服务器做淘客网站网络建站系统
  • php网站建设哪家好本wordpress慢
  • 园林景观效果图网站本地南京网站建设
  • 落实网站建设管理vps 网站打不开
  • 快速开发网站2014网站建设
  • 5188站长平台asp古典网站源码
  • 哈尔滨seo网站排名互联网营销策划案
  • 福州网站制作策划装修公司装修房子
  • 重庆市住房和城乡建设厅官方网站查询杭州百度网站建设
  • 网站建设与维护 东博wordpress 批量导入评论
  • 周杰伦做的广告网站什么是网络营销名词解释
  • 网站建设与制作教程北华大学网页设计策划
  • 请人建网站东阳市建设局网站
  • 如何查看一个网站是用什么cms做的电商网站设计价格
  • 不同网站的主机和域名wordpress 文章 字体
  • 网站建设售后服务承诺长春专业企业网站建设工作室
  • 网站设计制作的服务机构seo网站优化对象
  • 郑州营销型网站制作运营wordpress 自动锚文本