嵌入式开发者社区

标题: 关于SPI使用多CS端口的问题 [打印本页]

作者: 依然静度流光    时间: 2016-8-30 20:16
标题: 关于SPI使用多CS端口的问题
在SPI的Master模式下,使用SPIPinMuxSetup(1)和SPI1CSPinMuxSetup(0)来使能SPI1及其CS0的GPIO,并使用SPIDat1Config(SOC_SPI_1_REGS,SPI_DATA_FORMAT0, 0x01)来使用该片选信号。但根据源码若要使用其CS1,应该是配置SPI1CSPinMuxSetup(1)并使用SPIDat1Config(SOC_SPI_1_REGS,SPI_DATA_FORMAT0, 0x02)来选择片选。但看到的结果确实只有CS0可以正常使用,其他的CSn无法正常使用,请问这是什么原因,是对StarterWare的SPI API理解错了吗




作者: 希望缄默    时间: 2016-8-31 08:37
还需要配置 SPI 管脚模式
// 使能 SIMO SOMI CLK 引脚
unsigned int  val = 0x00000E03;
SPIPinControl(SOC_SPI_1_REGS, 0, 0, &val);
作者: 依然静度流光    时间: 2016-8-31 11:17
明白了,在提供的实例里面
    unsigned int  val = 0x00000E03;
SPIPinControl(SOC_SPI_1_REGS, 0, 0, &val);
其中val的低四位0x3也即0011b,是指把CS0和CS1全都打开,而在
    unsigned char cs = 0x01;
    SPIDat1Config(SOC_SPI_1_REGS,SPI_DATA_FORMAT0, cs);
中,cs为0x01代表使用CS0,为0x02代表使用CS1,依次列推。
从结果上看,如果使用cs=0x03则代表同时使用CS0和CS1(虽然没用这个用法)
======================================================
另,关于StarterWare的说明我主要是在TI官方的
http://processors.wiki.ti.com/in ... 20.01.01_User_Guide
及里面的链接里看的,感觉解释的不是很详细,请问TI或者贵公司有没有提供更详细的解释呢
作者: cchwhk    时间: 2016-9-5 20:45
你好,请问你驱动SPI了没,我弄了几天,感觉还是有问题呢
作者: 希望缄默    时间: 2016-9-6 08:58
依然静度流光 发表于 2016-8-31 11:17
明白了,在提供的实例里面
    unsigned int  val = 0x00000E03;
SPIPinControl(SOC_SPI_1_REGS, 0, 0, &va ...

暂时没有 不过可以直接看代码 代码注释很详细的
作者: 依然静度流光    时间: 2016-9-8 14:04
我倒是把SPI的主机模式调通了




欢迎光临 嵌入式开发者社区 (https://www.51ele.net/) Powered by Discuz! X3.4