明远智睿技术论坛

标题: 283的spi接口 [打印本页]

作者: beiqibing_000    时间: 2016-12-22 20:52
标题: 283的spi接口
参照文档MY-IMX28 Linux-2.6.35 用户手册 v1.0.pdf文档描述,关于spi的测试部分[attach]114[/attach]
我在spi_tect.c中看到有配置spi的模式,读写模式
        /*
         * spi mode
         */
        ret = ioctl(fd, SPI_IOC_WR_MODE, &mode);
        if (ret == -1)
                pabort("can't set spi mode");

        ret = ioctl(fd, SPI_IOC_RD_MODE, &mode);
        if (ret == -1)
                pabort("can't get spi mode");



文档中写到“SPI 接口为半双工模式”,这个是什么意思,这个spi只能发或者只能写吗,是硬件驱动设计决定的吗?一般spi不都是全双工的吗?如何改成全双工的spi,不太懂,请指教




作者: 软件01    时间: 2016-12-23 16:45
IMX283的CPU决定的,改不的了,不能自发自收,其他都可以
作者: beiqibing_000    时间: 2016-12-23 17:03
软件01 发表于 2016-12-23 16:45
IMX283的CPU决定的,改不的了,不能自发自收,其他都可以

mode 模式我设置如下,只要设置mode就无法设置模式,默认mode为0,倒是可以打开设备,其他情况均无法设置模式,设置模式失败
    mode = mode | SPI_MODE_0 | SPI_CS_HIGH | SPI_LSB_FIRST;
    ret = ::ioctl(fd,SPI_IOC_WR_MODE,&mode);
    if(ret == -1)
    {
        QMessageBox::about(this,"error","SPI_IOC_WR_MODE failure");
        exit(0);
    }

什么情况,是参照spi_test.c写的,请指教
作者: 软件01    时间: 2016-12-26 10:04

static struct spi_board_info spi_devboard_info[] __initdata = {
#if defined(CONFIG_SPI_MXS) || defined(CONFIG_SPI_MXS_MODULE)

  {

  /* the modalias must be the same as spi device driver name */

  .modalias = "spidev", /* Name of spi_driver for this device */

  .max_speed_hz = 20000000,     /* max spi clock (SCK) speed in HZ */

  .bus_num = 1, /* Framework bus number */

  .chip_select = 0, /* Framework chip select. */

  .mode = SPI_MODE_0,

  },

#endif
你可以直接改班级文件的  .mode = SPI_MODE_0,或者去掉,在测试源码都可以测试吧




欢迎光临 明远智睿技术论坛 (http://bbs.myzr.com.cn/) Powered by Discuz! X3.2