怎么写linux的spi设备驱动

怎么写linux的spi设备驱动,第1张

内核版本2.6.30。编进内核迟闹哗的spi驱动,通过看代码我明码行白了,大致过程是这样:

1、先创建一个spi_board_info结构描述spi设备信息,调用spi_register_board_info将这个结构添加到board_list中。

2、然后调用spi_register_master注册spi控制器驱动,此时会调用scan_boardinfo扫描弯握board_list,根据spi_board_info调用spi_new_device生成spi_device结构,用spi_add_device添加设备。

3、调用spi_register_driver注册spi_driver,通过与device匹配驱动设备。

已经有驱动的悔胡话,一般都有SPI_Init,SPI_Deinit,SPI_Open,SPI_Close,SPI_Read,SPI_Write等,运雹都旁前帆是调用它们的借口进行编程的,开发好的驱动程序,一般都不需要管它的内部实现的。

“如何初始化配置”

每个平台不一样,只能自己摸索了。

而且有多次的读 *** 作局歼段发现读取的数据后移了一位,即前面一位丢失了。

从你这句很可能是你的格式不对! 调试时先用底速,不要有中断干扰! 其实3.3V的MCU的IO可以与5V的IC直连! 我是这样做的, 没什么问题, 只要没足高电平的最小触发电压就可以了! 只要你的MCU IO支持5V的就行了! 如NXP STM STC AVR的都有支持的! 如果要转换,用三极管是就简单而实用的方法了. 你这用5V的74LS244 就好了,参数表写只要2V输入就有高电平输出了, 但实际上有1V输入都有改禅高电平输出桐誉了! 如果用74lvc244ad-3.3V电源,你要看5V的元件的输入要求了!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12513181.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存