工具/软件:Linux
我尝试通过 SPI 1从 FRAM 读取数据。 我已将代码打印为相同代码。 我能够在 CRO 上获得正确的制造 ID、但无法从驱动程序和应用程序获取数据。 它始终显示0x00。
下面是我的设备树。
AM33XX_IOPAD (0x190、PIN_INPUT_PULLUP | MUX_MODE3)/*(A13) McASP0_aclkx.SPI1_SCLK *
AM33XX_IOPAD (0x194、PIN_INPUT_PULLUP | MUX_MODE3)/*(B13) McASP0_FSX.SPI1_d0 *
AM33XX_IOPAD (0x198、PIN_OUTPUT | MUX_MODE3)/*(D12) McASP0_axr0.SPI1_D1 *
AM33XX_IOPAD (0x19c、PIN_OUTPUT | MUX_MODE3)/*(C12) McASP0_ahclkr.SPI1_cs0 *
下面是我用于读取制造商 ID 的代码。
UINT8 TXZ[1]={0};
uint8 rxz[1]={0};
memset (TXZ、0、sizeof TXZ);
memset (rxz,0,sizeof rxz);
memset (xfer,0,sizeof xfer);
TXZ[0]= RDID;
内转台;
Xfer[0].TX_BUf =(无符号长整型) TXZ;
Xfer[0].len = 1;
Xfer[1].delay_usecs = 500;
xfer[1].rx_buf =(无符号长整型) rxz;
Xfer[1].len = 1;
Xfer[1].delay_usecs = 500;
RET = ioctl (SPI_fb、SPI_IOC_MESSAGE (2)、xfer);
printf ("发送:%.2X\n"、TXZ[0]);
printf ("接收:%.2X\n"、rxz[0]);
放置("");