我会对用户模式spi设备驱动程序(spidev.c)创建的/dev/spiB.C使用read()和write()。现在,SPI传输消息遵循某种格式(例如,24位,其中一些位用于地址,一些位用于数据),其由芯片供应商特定的spi控制器驱动器定义。消息格式如何适合read()和write()事务?我应该在write()或read()之前或之后在哪里以及如何定义代码中的格式?
谢谢!
答案 0 :(得分:1)
您需要调用spidev.c中提到的spidev_ioctl()
E.g。只需检查开关盒:SPI_IOC_RD_BITS_PER_WORD,它设置位/字(第410行)。
然后它最终写入spi设备结构中的bits_per_word成员(第415行)。
此spi指针是spi设备的指针,您在spidev_probe()期间与之通信并已分配。
当然你需要在r / w之前设置配置。你还需要设置SPI的速度和模式。
我已经参考了spidev.c文件的以下链接: http://lxr.free-electrons.com/source/drivers/spi/spidev.c