器件型号:LAUNCHXL-F28377S
您好!
我正在尝试 使用 DMA 通过 SPI 执行多从器件通信(dlnware.com/.../spi_multi_slaves.png)。
我的设置如下:
SPI 通道 A
传感器 IMU VN 100-S (www.vectornav.com/.../vn-100-user-manual-(um001).pdf)
为了执行多从器件通信、我的目标是在 发送标头之前将 GPIO19与 SPISTEA 取消链接、并手动执行切换。
GPIO19通过取消链接
GpioCtrlRegs.GPAPUD.bit.GPIO19 = 0; //启用 GPIO19上的上拉电阻器(SPISTEA)
GpioCtrlRegs.GPAMUX2.bit.GPIO19 = 0;//将 GPIO19配置为 SPISTEA
并配置为
GPIO_SetupPinMux (19、GPIO_MUX_CPU1、0);
GPIO_SetupPinOptions (19、GPIO_OUTPUT、GPIO_PushPull);
然后拉高、因为 SPISTEA 通常应为高电平。
GPIO_WritePin (19、1);
用于读取 IMU、
GPIO_WritePin (CS_1_GPIO、0);
StartDMACH6 (); //启动 SPI RX DMA 通道
StartDMACH5 (); //启动 SPI TX DMA 通道
GPIO_WritePin (CS_1_GPIO、1);
DELAY_US (200);
GPIO_WritePin (CS_1_GPIO、0);
StartDMACH6 (); //启动 SPI RX DMA 通道
StartDMACH5 (); //启动 SPI TX DMA 通道
GPIO_WritePin (CS_1_GPIO、1);
遗憾的是、传感器的响应始终为0xFFFF。
有人对这个问题有什么想法吗?
-ps、我的代码基于 SPI_LOOP_DMA 示例。 当 GPIO19被连接至 SPISTEA 时、它运行良好。