注册 登录
查看: 2102|回复: 66

[K60] [SPI]山外哥,你们的底层驱动SPI怎么不对啊,是我用错了吗?

[复制链接]
发表于 2014-8-8 19:03:34 | 显示全部楼层 |阅读模式
spi_init(SPI0,SPIn_PCS0,MASTER,9600*1000);              //初始化SPI,选择CS0,主机模式,设置波特率

spi_mosi(SPI0,SPIn_PCS0,((uint16 *)(LDC1000_CMD_PROXLSB)),NULL,1);//写数据,底层用的8位格式,我需求是16位的,就改了
spi_mosi(SPI0,SPIn_PCS0,NULL,&DataRcv[0],1);//读数据

但是现在的问题是clk保持低电平,IN,OUT,CS,这三个全是高电平,表示完全不懂。。。
回复

使用道具 举报

发表于 2014-8-8 19:23:44 | 显示全部楼层
SPI 本来就是8位传输,如果你要传输16位数据,就根据大小端模式,分开两次传输就好了。
回复 支持 反对

使用道具 举报

发表于 2014-8-8 19:31:16 | 显示全部楼层
spi_mosi(SPI0,SPIn_PCS0,NULL,&DataRcv[0],1);//读数据

这里是读取数据,OUT的数据由 0地址的数据决定。
IN的数据由从机来决定。

clk 这个应该是方波才对啊
回复 支持 反对

使用道具 举报

发表于 2014-8-8 19:31:26 | 显示全部楼层
你可以测一下我们的NRF的例程的时序
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-8-8 20:03:15 | 显示全部楼层
山外メ雲ジ 发表于 2014-8-8 19:31
spi_mosi(SPI0,SPIn_PCS0,NULL,&DataRcv[0],1);//读数据

这里是读取数据,OUT的数据由 0地址的数据决定。 ...

谢谢山大哥及时回复,不过我看了哈还是没懂你的意思。还有,我用NRF那个程序测试时是间断的三角波,主要 是间断的。。。
使用你们最新的底层就只要
初始化:uint32 spi_init(SPIn_e spin, SPIn_PCSn_e pcs, SPI_CFG master,uint32 baud)
读写数据:void spi_mosi(SPIn_e spin, SPIn_PCSn_e pcs, uint8 *modata, uint8 *midata, uint8 len)
                              modata是单片机待发送数据地址 midata是SPI接收到的数据的地址

这两个就可以了啥,其它不用拉低CS片选,开CLK时钟这些吧?
回复 支持 反对

使用道具 举报

发表于 2014-8-8 20:04:25 | 显示全部楼层
LSQ_GSQ 发表于 2014-8-8 20:03
谢谢山大哥及时回复,不过我看了哈还是没懂你的意思。还有,我用NRF那个程序测试时是间断的三角波,主要  ...

CS 和 CLK 这些都是 SPI模块自动控制的,不需要我们再去控制
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-8-8 20:10:16 | 显示全部楼层
山外メ雲ジ 发表于 2014-8-8 20:04
CS 和 CLK 这些都是 SPI模块自动控制的,不需要我们再去控制

那为什么初始化后我不管是否读写数据CS始终为高,CLK始终为低啊?是我初始化错了吗?
spi_init(SPI1,SPIn_PCS1,MASTER,12500*1000);              //初始化SPI,选择CS0,主机模式
回复 支持 反对

使用道具 举报

发表于 2014-8-8 20:11:34 | 显示全部楼层
LSQ_GSQ 发表于 2014-8-8 20:10
那为什么初始化后我不管是否读写数据CS始终为高,CLK始终为低啊?是我初始化错了吗?
spi_init(SPI1,SPI ...

你初始化的是 SPIn_PCS1 时钟啊,不是 CS0啊!!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-8-8 20:12:32 | 显示全部楼层
山外メ雲ジ 发表于 2014-8-8 20:04
CS 和 CLK 这些都是 SPI模块自动控制的,不需要我们再去控制

我使用的SPI1,
#define SPI1_SCK    PTE2       // PTE2、PTB11、            全部都是 ALT2
#define SPI1_SOUT   PTE1       // PTE1、PTB16、            全部都是 ALT2
#define SPI1_SIN    PTE3       // PTE3、PTB17、            全部都是 ALT2
#define SPI1_PCS1   PTE0        // PTE0、PTB9、             全部都是 ALT2
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-8-8 20:21:16 | 显示全部楼层
困扰我好几天了,心烦啊,求助
回复 支持 反对

使用道具 举报

发表于 2014-8-8 20:24:32 | 显示全部楼层
LSQ_GSQ 发表于 2014-8-8 20:12
我使用的SPI1,
#define SPI1_SCK    PTE2       // PTE2、PTB11、            全部都是 ALT2
#define S ...

初始化后,需要读写数据的时候,CS和CLK才有输出的哦
你有没有进行数据读写?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-8-8 20:34:50 | 显示全部楼层
山外メ雲ジ 发表于 2014-8-8 20:24
初始化后,需要读写数据的时候,CS和CLK才有输出的哦
你有没有进行数据读写?

好吧,那能详细讲讲读写那个函数的使用注意事项吗?那个我不太明白那两个地址的关系。
void spi_mosi(SPIn_e spin, SPIn_PCSn_e pcs, uint8 *modata, uint8 *midata, uint8 len)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-8-8 20:36:27 | 显示全部楼层
山外メ雲ジ 发表于 2014-8-8 20:24
初始化后,需要读写数据的时候,CS和CLK才有输出的哦
你有没有进行数据读写?

可能是我写数据有问题,导致从机没配置好,所以没工作吧。
回复 支持 反对

使用道具 举报

发表于 2014-8-8 20:36:42 | 显示全部楼层
LSQ_GSQ 发表于 2014-8-8 20:34
好吧,那能详细讲讲读写那个函数的使用注意事项吗?那个我不太明白那两个地址的关系。
void spi_mosi(SP ...

一个是发送缓冲区,一个是接收缓冲区

前面那个就是你需要发送的内容的地址,后面那个是你需要把接收到的数据存储在哪个地址上。

因为SPI是发送的同时,也会进行接收。

不然对发送内容没要求,直接NULL就好。如果不存储接收数据,那么直接NULL接收地址就好
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-8-9 10:50:03 | 显示全部楼层
山外メ雲ジ 发表于 2014-8-8 20:36
一个是发送缓冲区,一个是接收缓冲区

前面那个就是你需要发送的内容的地址,后面那个是你需要把接收到 ...

spi_mosi_cmd(SPI1, SPIn_PCS0, ((uint8 *)(LDC1000_CMD_PWRCONFIG)), NULL, ((uint8 *)(0x01)), NULL, 1, 1);
还是不行,我发送LDC1000_CMD_PWRCONFIG寄存器地址,寄存器值0x01;
spi_mosi_cmd(SPI1, SPIn_PCS0, ((uint8 *)(LDC1000_CMD_PROXLSB)), NULL, NULL, &DataRcv[0], 1, 1);
不断执行读取函数:LDC1000_CMD_PROXLSB寄存器地址,DataRcv[0], 存放读取的值。
我看波形是MOSI没有波形,MOSO,SCLK,CS都是间断的波形。
回复 支持 反对

使用道具 举报

发表于 2014-8-9 10:53:13 | 显示全部楼层
LSQ_GSQ 发表于 2014-8-9 10:50
spi_mosi_cmd(SPI1, SPIn_PCS0, ((uint8 *)(LDC1000_CMD_PWRCONFIG)), NULL, ((uint8 *)(0x01)), NULL, 1 ...

LDC1000_CMD_PROXLSB  这个是什么东西?

MOSI 没波形,那是因为你的输出缓冲区的数据是0x00 或者 0xFF

最好你上传一下波形
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-8-9 12:17:38 | 显示全部楼层
山外メ雲ジ 发表于 2014-8-9 10:53
LDC1000_CMD_PROXLSB  这个是什么东西?

MOSI 没波形,那是因为你的输出缓冲区的数据是0x00 或者 0xFF ...

SCLK:
C:\Documents and Settings\Administrator\桌面
SOUT:
C:\Documents and Settings\Administrator\桌面
PCS0:
C:\Documents and Settings\Administrator\桌面
回复 支持 反对

使用道具 举报

发表于 2014-8-9 12:19:05 | 显示全部楼层
LSQ_GSQ 发表于 2014-8-9 12:17
SCLK:

SOUT:

需要进入高级模式上传图片
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-8-9 12:24:08 | 显示全部楼层
山外メ雲ジ 发表于 2014-8-9 12:19
需要进入高级模式上传图片

CLK:


SOUT:


PCS0:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

发表于 2014-8-9 12:35:03 | 显示全部楼层
LSQ_GSQ 发表于 2014-8-9 12:24
CLK:

感觉SPI没什么问题啊,你检查一下SPI通信时序看看。

另外,一个 spi_mosi 函数,开始的时候会自动把CS拉低,退出的时候会自动拉高的。

你看这个符不符合你的模块的通信协议
回复 支持 反对

使用道具 举报

发表于 2014-8-9 12:35:06 | 显示全部楼层
LSQ_GSQ 发表于 2014-8-9 12:24
CLK:

感觉SPI没什么问题啊,你检查一下SPI通信时序看看。

另外,一个 spi_mosi 函数,开始的时候会自动把CS拉低,退出的时候会自动拉高的。

你看这个符不符合你的模块的通信协议
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-8-9 14:04:45 | 显示全部楼层
山外メ雲ジ 发表于 2014-8-9 12:35
感觉SPI没什么问题啊,你检查一下SPI通信时序看看。

另外,一个 spi_mosi 函数,开始的时候会自动把CS ...

协议应该没问题啊。
spi_mosi_cmd(SPI1, SPIn_PCS0, &LDC_CMD_INIT, NULL, &LDC_data, NULL, 1, 1);只是通过这个写从机寄存器的值。LDC_CMD_INIT是寄存器地址,LDC_data是写入对应寄存器的值。
回复 支持 反对

使用道具 举报

发表于 2014-8-9 14:15:53 | 显示全部楼层
LSQ_GSQ 发表于 2014-8-9 14:04
协议应该没问题啊。
spi_mosi_cmd(SPI1, SPIn_PCS0, &LDC_CMD_INIT, NULL, &LDC_data, NULL, 1, 1);只是 ...

寄存器的地址,不是这样子写的啊。你没理解这个函数的用法和SPI通信协议

uint16 addr =  LDC1000_CMD_PROXLSB;
spi_mosi(SPI0,SPIn_PCS0,(uint8 *)&addr,NULL,1);
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-8-9 14:49:48 | 显示全部楼层
山外メ雲ジ 发表于 2014-8-9 14:15
寄存器的地址,不是这样子写的啊。你没理解这个函数的用法和SPI通信协议

uint16 addr =  LDC1000_CMD_ ...

这还不是关键一样,改了还是不对,如果SPI没错的话我写了寄存器然后读出来全是OXff,把SOUT和SIN反过来接读出来就是0X00;但是我写入的肯定不是这两个。。。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-8-9 15:08:39 | 显示全部楼层
对了,从机是TI的LDC1000,数字电感检测芯片
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-8-9 16:21:52 | 显示全部楼层
山外メ雲ジ 发表于 2014-8-9 14:15
寄存器的地址,不是这样子写的啊。你没理解这个函数的用法和SPI通信协议

uint16 addr =  LDC1000_CMD_ ...

山外哥,PTE3,也就是SPI1_SIN这个引脚总是为低电平,另外几个都正常,这是为什么啊?我明明有不断的发送和接收啊。。。
spi_mosi(SPI1,SPIn_PCS0,((uint8 *)(&LDC_CMD_Read[0])),NULL,1);写数据
  spi_mosi(SPI1,SPIn_PCS0,NULL,&DataRcv[0],1);读数据
回复 支持 反对

使用道具 举报

发表于 2014-8-9 16:24:48 | 显示全部楼层
LSQ_GSQ 发表于 2014-8-9 16:21
山外哥,PTE3,也就是SPI1_SIN这个引脚总是为低电平,另外几个都正常,这是为什么啊?我明明有不断的发送和接 ...

发送命令和数据,必须用一个函数完成啊!不然CS的电平就不对的

spi_mosi_cmd 用这个函数,包含发送命令和数据的。

你研究一下我们的 nrf 例程吧,里面也是用到 spi的。你要对比时序图,不能仅仅单从结果来判断原因的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-8-9 16:37:24 | 显示全部楼层
山外メ雲ジ 发表于 2014-8-9 16:24
发送命令和数据,必须用一个函数完成啊!不然CS的电平就不对的

spi_mosi_cmd 用这个函数,包含发送命令 ...

我改了SPI2空载,SPI2_SIN    PTB23 还是一直为低电平,这是为什么啊?SIN应该是从机IN,CPU当主机就是OUT啊,这个怎么就没数据呢?
回复 支持 反对

使用道具 举报

发表于 2014-8-9 18:39:06 | 显示全部楼层
LSQ_GSQ 发表于 2014-8-9 16:37
我改了SPI2空载,SPI2_SIN    PTB23 还是一直为低电平,这是为什么啊?SIN应该是从机IN,CPU当主机就是OU ...

SPI2_SIN   这个是对单片机而已是输入,对从机来说是输出啊,数据是由从机来决定的。
回复 支持 反对

使用道具 举报

发表于 2014-8-9 18:39:43 | 显示全部楼层
LSQ_GSQ 发表于 2014-8-9 16:37
我改了SPI2空载,SPI2_SIN    PTB23 还是一直为低电平,这是为什么啊?SIN应该是从机IN,CPU当主机就是OU ...

你现在没一个完整的时序给我,我也不好判断是什么原因。

你看看有没有逻辑分析仪这类的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-8-9 19:14:50 | 显示全部楼层
山外メ雲ジ 发表于 2014-8-9 18:39
SPI2_SIN   这个是对单片机而已是输入,对从机来说是输出啊,数据是由从机来决定的。

那应该我知道了,从机没有输出,所以SIN总为单一电平,可能关键还是写数据初始化那里的问题,我再仔细看看。
回复 支持 反对

使用道具 举报

发表于 2014-8-12 09:27:41 | 显示全部楼层
山外メ雲ジ 发表于 2014-8-9 18:39
SPI2_SIN   这个是对单片机而已是输入,对从机来说是输出啊,数据是由从机来决定的。

请问一下 K60 SPI 的CLK频率是怎么算的,就是初始化的那个波特率
回复 支持 反对

使用道具 举报

发表于 2014-8-12 10:23:34 | 显示全部楼层
895150121 发表于 2014-8-12 09:27
请问一下 K60 SPI 的CLK频率是怎么算的,就是初始化的那个波特率

这个需要看手册,才知道的。
手册里有公式的
回复 支持 反对

使用道具 举报

发表于 2014-8-12 22:06:59 | 显示全部楼层
山外メ雲ジ 发表于 2014-8-9 12:35
感觉SPI没什么问题啊,你检查一下SPI通信时序看看。

另外,一个 spi_mosi 函数,开始的时候会自动把CS ...

片选信号,拉低拉高是在哪里了,
回复 支持 反对

使用道具 举报

发表于 2014-8-12 22:13:18 | 显示全部楼层
Sir_J 发表于 2014-8-12 22:06
片选信号,拉低拉高是在哪里了,

是由寄存器控制的,一个函数,传输的时候拉低,传输完成后拉高。
回复 支持 反对

使用道具 举报

发表于 2014-8-13 07:34:20 | 显示全部楼层
山外メ雲ジ 发表于 2014-8-12 22:13
是由寄存器控制的,一个函数,传输的时候拉低,传输完成后拉高。

uint8 nrf_readreg(uint8 reg, uint8 *dat)
{

    uint8 buff[2];

    buff[0] = reg;          //先发送寄存器

    spi_mosi(NRF_SPI, NRF_CS, buff, buff, 2); //发送buff数据,并保存到buff里

    *dat = buff[1];                         //提取第二个数据

    /*返回状态寄存器的值*/
    return buff[0];
}
.....
以上是例程代码。是不是这样理解的。
spi_mosi(NRF_SPI, NRF_CS, buff, buff, 2); //发送buff数据,并保存到buff里
这里的2个字节,是指最后buff[0]和buff[1]里面的值么,
*dat = buff[1];                         //提取第二个数据
还是这里才是读会来的一个字节的数据。
回复 支持 反对

使用道具 举报

发表于 2014-8-13 07:37:36 | 显示全部楼层
山外メ雲ジ 发表于 2014-8-12 22:13
是由寄存器控制的,一个函数,传输的时候拉低,传输完成后拉高。

spi_mosi(NRF_SPI, NRF_CS, buff, buff, 2); //发送buff数据,并保存到buff里
还有就是 在这个过程中是进入时片选信号NRF_CS被拉低,读完后拉高的?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-8-13 10:35:30 | 显示全部楼层
山外メ雲ジ 发表于 2014-8-12 22:13
是由寄存器控制的,一个函数,传输的时候拉低,传输完成后拉高。

大哥,用一个SPI接口挂载多个SPI从机,初始化应该怎么初始化啊?比如我用SPI1,它有SPI1_PCS0 ,SPI1_PCS1 ,SPI1_PCS2 ,SPI1_PCS3 ,用这四个片选端口挂接四个从机的CS端,但是初始化函数中只能初始化一个CS啊。于是我想这样改
else if(spin == SPI1)
    {
#if defined(MK60DZ10)
        SIM_SCGC6 |= SIM_SCGC6_SPI1_MASK;
#elif defined(MK60F15)
        SIM_SCGC6 |= SIM_SCGC6_DSPI1_MASK;
#endif
        port_init(SPI1_SCK , ALT2  );
        port_init(SPI1_SOUT, ALT2  );
        port_init(SPI1_SIN , ALT2  );

        //if(pcs & SPIn_PCS0)
            port_init(SPI1_PCS0, ALT2  );

        //if(pcs & SPIn_PCS1)
            port_init(SPI1_PCS1, ALT2  );

        //if(pcs & SPIn_PCS2)
            port_init(SPI1_PCS2, ALT2  );

        //if(pcs & SPIn_PCS3)
            port_init(SPI1_PCS3, ALT2  );
    }

不过好像不行。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-8-13 10:36:39 | 显示全部楼层
山外メ雲ジ 发表于 2014-8-12 22:13
是由寄存器控制的,一个函数,传输的时候拉低,传输完成后拉高。

大哥,用一个SPI接口挂载多个SPI从机,初始化应该怎么初始化啊?比如我用SPI1,它有SPI1_PCS0 ,SPI1_PCS1 ,SPI1_PCS2 ,SPI1_PCS3 ,用这四个片选端口挂接四个从机的CS端,但是初始化函数中只能初始化一个CS啊。于是我想这样改
else if(spin == SPI1)
    {
#if defined(MK60DZ10)
        SIM_SCGC6 |= SIM_SCGC6_SPI1_MASK;
#elif defined(MK60F15)
        SIM_SCGC6 |= SIM_SCGC6_DSPI1_MASK;
#endif
        port_init(SPI1_SCK , ALT2  );
        port_init(SPI1_SOUT, ALT2  );
        port_init(SPI1_SIN , ALT2  );

        //if(pcs & SPIn_PCS0)
            port_init(SPI1_PCS0, ALT2  );

        //if(pcs & SPIn_PCS1)
            port_init(SPI1_PCS1, ALT2  );

        //if(pcs & SPIn_PCS2)
            port_init(SPI1_PCS2, ALT2  );

        //if(pcs & SPIn_PCS3)
            port_init(SPI1_PCS3, ALT2  );
    }

不过好像不行。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-8-13 10:53:09 | 显示全部楼层
山外メ雲ジ 发表于 2014-8-12 22:13
是由寄存器控制的,一个函数,传输的时候拉低,传输完成后拉高。

//根据主从机模式设置工作模式。MCU提供最大主机频率是1/2主频,最大从机频率是1/4主频
    if(master == MASTER)
    {
        SPI_MCR_REG(SPIN[spin]) =  (0
                                    |  SPI_MCR_MSTR_MASK        //Master,主机模式
                                    |  SPI_MCR_PCSIS(pcs)
                                    |  SPI_MCR_PCSIS_MASK
                                   );
这里这个CS片选不知道怎么改成四个
回复 支持 反对

使用道具 举报

发表于 2014-8-13 11:07:54 | 显示全部楼层
LSQ_GSQ 发表于 2014-8-13 10:53
//根据主从机模式设置工作模式。MCU提供最大主机频率是1/2主频,最大从机频率是1/4主频
    if(master  ...

你用k60 驱动ldc1000好了么?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-8-13 11:11:44 | 显示全部楼层
Sir_J 发表于 2014-8-13 11:07
你用k60 驱动ldc1000好了么?

好了啊,这个还好,很简单
回复 支持 反对

使用道具 举报

发表于 2014-8-13 11:13:47 | 显示全部楼层
LSQ_GSQ 发表于 2014-8-13 11:11
好了啊,这个还好,很简单

我弄不好诶,能加个q不
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-8-13 11:59:22 | 显示全部楼层
Sir_J 发表于 2014-8-13 11:13
我弄不好诶,能加个q不

山外SPI还是很方便的,现在4片从机挂载也搞定了。就是注意下LDC1000初始化的读写标志就应该没问题了。
回复 支持 反对

使用道具 举报

发表于 2014-8-13 12:13:08 | 显示全部楼层
LSQ_GSQ 发表于 2014-8-13 11:59
山外SPI还是很方便的,现在4片从机挂载也搞定了。就是注意下LDC1000初始化的读写标志就应该没问题了。

我上面两个问题,你知道么
回复 支持 反对

使用道具 举报

发表于 2014-8-13 12:23:55 | 显示全部楼层

uint8 ldc_readreg(uint8 reg)
{

    uint8 buff[2];

    buff[0] = (reg|0x80);          //先发送寄存器
    LDC_CSN_LOW();         //拉低csn片选信号
    spi_mosi(LDC1000_SPI, LDC1000_CS, buff, buff, 2); //发送buff数据,并保存到buff里
    LDC_CSN_HIGH();        //拉低csn片选信号
    //*dat = buff[1];                         //提取第二个数据

    /*返回状态寄存器的值*/
    return buff[1];//return buff[0];  
}
上面是读寄存器,
uint8 ldc_writereg(uint8 reg, uint8 dat)
{
    uint8 buff[2];
   
    buff[0] = reg;          //先发送寄存器
    buff[1] = dat;          //再发送数据
    LDC_CSN_LOW();//拉低csn片选信号
   
    spi_mosi(LDC1000_SPI , LDC1000_CS, buff, NULL, 2); //发送buff里数据,并采集到 buff里
   
    LDC_CSN_LOW();//拉高csn片选信号
    /*返回状态寄存器的值*/
    return buff[0];
}
这是写寄存器,你帮我看看,怎么写会比较好一点勒
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-8-13 12:32:46 | 显示全部楼层
Sir_J 发表于 2014-8-13 12:23
uint8 ldc_readreg(uint8 reg)
{

山外的SPI读写程序进入就自动拉低CS,不用自己拉
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-8-13 12:34:21 | 显示全部楼层
Sir_J 发表于 2014-8-13 12:23
uint8 ldc_readreg(uint8 reg)
{

用mosi_cmd那个更方便一点,读写命令和数据都可以。
回复 支持 反对

使用道具 举报

发表于 2014-8-13 13:10:18 | 显示全部楼层
LSQ_GSQ 发表于 2014-8-13 12:34
用mosi_cmd那个更方便一点,读写命令和数据都可以。

你终于看懂了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-8-13 14:02:59 | 显示全部楼层
山外メ雲ジ 发表于 2014-8-13 13:10
你终于看懂了

哎,辛苦大哥了。现在都解决了,谢谢了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回列表 返回顶部