This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具/软件:TI C/C++编译器
28377D 的 MOSI 首先传输 MSB、 那么是否应转换 LSB 位、以便在28377D 中首先传输 LSB 位?
2. SPI MOSI 信号不是~~~μ s!
SPI 设置如下。
SPI -A GPIO 设置。
EALLOW;
GpioCtrlRegs.GPAGMUX2.bit.GPIO16 = 0x0;
GpioCtrlRegs.GPAGMUX2.bit.GPIO17 = 0x0;
GpioCtrlRegs.GPAGMUX2.bit.GPIO18 = 0x0;
GpioCtrlRegs.GPAGMUX2.bit.GPIO19 = 0x0;
GpioCtrlRegs.GPAMUX2.bit.GPIO16 = 0x1;// MOSI
GpioCtrlRegs.GPAMUX2.bit.GPIO17 = 0x1;// MISO
GpioCtrlRegs.GPAMUX2.bit.GPIO18 = 0x1;// CLK
GpioCtrlRegs.GPAMUX2.bit.GPIO19 = 0x0;//芯片选择
GpioCtrlRegs.GPAPUD.ALL &= 0xFCB8FFFF;
GpioCtrlRegs.GPAQSEL2.ALL |= 0x000F303F;
GpioCtrlRegs.GPADIR.bit.GPIO19 = 1;
EDIS;
SPI -A 寄存器设置
EALLOW;
SpiaRegs.SPICCR.bit.SPISWRESET = 0;
SpiaRegs.SPICTL.bit.MASTER_SLAVE = 1;
SpiaRegs.SPICCR.bit.CLKPOLARITY = 1;
SpiaRegs.SPICTL.bit.CLK_PHASE = 1;
SpiaRegs.SPIBRR.ALL = 7;
SpiaRegs.SPICCR.bit.SPICHAR = 0x7;
SpiaRegs.SPISTS.bit.overoverover_flag = 0;
SpiaRegs.SPISTS.bit.INT_FLAG = 0;
SpiaRegs.SPISTS.bit.BUFFULL_FLAG = 0;
SpiaRegs.SPICCR.bit.SPISWRESET=1;
GpioCtrlRegs.GPADIR.bit.GPIO19 = 1;
EDIS;
发送数据的代码如下所示。
GpioDataRegs.GPACLEAR.bit.GPIO19=1;
while (SpiaRegs.SPISTS.bit.BUFFULL_FLAG == 1){}
SpiaRegs.SPITXBUF =发送数据<< 8;
while (SpiaRegs.SPISTS.bit.INT_flag!= 1){}
nDataSpi = SpiaRegs.SPIRXBUF;
GpioDataRegs.GPASET.bit.GPIO19=1;
RET = nDataSpi;
回程;
28377D 和 ADS8688通过 ISO7141进行连接。
SPI CLK:12.5MHz
3、从 SPI A 的 MOSI 看、显示的波形是输出、为什么打印图片中显示的波形?
移除 iSO7141芯片后、在测量波形时测量了相同的波形。
[引用 user="falconjang"]
器件型号:TMS320F28377D
工具/软件:TI C/C++编译器
28377D 的 MOSI 首先传输 MSB、 那么是否应转换 LSB 位、以便在28377D 中首先传输 LSB 位?
2. SPI MOSI 信号不是~~~μ s!
SPI 设置如下。
SPI -A GPIO 设置。
EALLOW;
GpioCtrlRegs.GPAGMUX2.bit.GPIO16 = 0x0;
GpioCtrlRegs.GPAGMUX2.bit.GPIO17 = 0x0;
GpioCtrlRegs.GPAGMUX2.bit.GPIO18 = 0x0;
GpioCtrlRegs.GPAGMUX2.bit.GPIO19 = 0x0;
GpioCtrlRegs.GPAMUX2.bit.GPIO16 = 0x1;// MOSI
GpioCtrlRegs.GPAMUX2.bit.GPIO17 = 0x1;// MISO
GpioCtrlRegs.GPAMUX2.bit.GPIO18 = 0x1;// CLK
GpioCtrlRegs.GPAMUX2.bit.GPIO19 = 0x0;//芯片选择
GpioCtrlRegs.GPAPUD.ALL &= 0xFCB8FFFF;
GpioCtrlRegs.GPAQSEL2.ALL |= 0x000F303F;
GpioCtrlRegs.GPADIR.bit.GPIO19 = 1;
EDIS;
SPI -A 寄存器设置
EALLOW;
SpiaRegs.SPICCR.bit.SPISWRESET = 0;
SpiaRegs.SPICTL.bit.MASTER_SLAVE = 1;
SpiaRegs.SPICCR.bit.CLKPOLARITY = 1;
SpiaRegs.SPICTL.bit.CLK_PHASE = 1;
SpiaRegs.SPIBRR.ALL = 7;
SpiaRegs.SPICCR.bit.SPICHAR = 0x7;
SpiaRegs.SPISTS.bit.overoverover_flag = 0;
SpiaRegs.SPISTS.bit.INT_FLAG = 0;
SpiaRegs.SPISTS.bit.BUFFULL_FLAG = 0;
SpiaRegs.SPICCR.bit.SPISWRESET=1;
GpioCtrlRegs.GPADIR.bit.GPIO19 = 1;
EDIS;
发送数据的代码如下所示。
GpioDataRegs.GPACLEAR.bit.GPIO19=1;
while (SpiaRegs.SPISTS.bit.BUFFULL_FLAG == 1){}
SpiaRegs.SPITXBUF =发送数据<< 8;
while (SpiaRegs.SPISTS.bit.INT_flag!= 1){}
nDataSpi = SpiaRegs.SPIRXBUF;
GpioDataRegs.GPASET.bit.GPIO19=1;
RET = nDataSpi;
回程;
28377D 和 ADS8688通过 ISO7141进行连接。
SPI CLK:12.5MHz
3、从 SPI A 的 MOSI 看、显示的波形是输出、为什么打印图片中显示的波形?
移除 iSO7141芯片后、在测量波形时测量了相同的波形。
[/报价]
您好!
[引用 user="falconjang"]1. 28377D 的 MOSI 首先传输 MSB、 那么是否应转换 LSB 位、以便能够在28377D 中首先传输 LSB?[/QUERP]
我不确定我是否理解您的问题。 您是否正在尝试更改移出的数据的字节序?
[引用 user="falconjang"]2. SPI MOSI 信号不是~~~μ s![/引述]
[引用 user="falconjang"]3. 从 SPI A 的 MOSI 中、显示的波形为输出。为什么打印图片中显示的波形?[/QUERP]
您的 pinmux 配置和 SPI 配置看起来是正确的。 您可以参阅 C2000ware 中的任何 SPI 示例吗?
\device_support\f2837xd\examples\cpu1
对于 MOSI 输出、示例源代码是正常的。
但我想使用非 FIFO 模式。
在附加的代码中执行粗体部分时、MOSI 信号不会发出。
删除粗体部分、然后删除"void InitSpi (void)"
如果运行"SpiaRegs.SPICTL.bit.TALK = 1"、 则不 输出 MOSI 信号输出和 MISO 信号。
当使用 GPIO16 ~GPIO19 SPI 端口时、如果通道被选作 GPIO、它是否会受到"MOSI"或"Miso"端口的影响?
是否有正常(非 FIFO 模式)模式示例代码或参考手册?
GpioDataRegs.GPACLEAR.bit.GPIO19=1;
while (SpiaRegs.SPISTS.bit.BUFFULL_FLAG == 1){}
SpiaRegs.SPITXBUF =发送数据<< 8;
while (SpiaRegs.SPISTS.bit.INT_flag!= 1){}
nDataSpi = SpiaRegs.SPIRXBUF;
GpioDataRegs.GPASET.bit.GPIO19=1;
您好!
[引用 user="falconjang"]示例源代码对于 MOSI 输出而言是正常的。
是的、是的。
[引用 user="falconjang"]但我想使用非 FIFO 模式。
好的、明白了。 但是、如果您按原样使用代码、那么您会看到 MOSI 引脚切换?
[引用 user="falconjang"]删除粗体部分,然后删除"void InitSpi (void)"
很抱歉、我不理解。 删除什么代码?
[引用 user="falconjang"]如果运行"SpiaRegs.SPICTL.bit.TALK = 1", 则不 输出 MOSI 信号输出和 MISO 信号。[/quot]
在您的情况下、SPIA 配置为主器件。 在这种情况下、如果 TALK = 1、则将启用 SPI MOSI 引脚。 如果 TALK = 0、则 MOSI 引脚将被禁用。 TALK 位不影响 MISO 引脚的运行、该引脚由从器件(ADC)驱动。
[引用 USER="falconjang"]当使用 GPIO16 ~GPIO19 SPI 端口时,如果通道被选作 GPIO,它是否会受到"MOSI"或"Miso"端口的影响?
我不理解您的问题。 GPIO16、GPIO17、GPIO18必须配置为 SPI 引脚。 GPIO19可配置为 SPISTEA 或 GPIO、您可以自行选择。
[引用 user="falconjang"]是否有正常(非 FIFO 模式)模式示例代码或参考手册? [/报价]
不、没有。 但是、FIFO 模式不启用或禁用 MOSI 引脚传输。