我正在尝试将 TM4C123G Launchpad 与 MCP23S17总线扩展器相连。 目前、我正在尝试读取地址0x00处的配置寄存器。 总线扩展器的数据表规定:
SPI 写入操作通过降低 CS 启动。 。 
写入命令(R/W 位清零的从器件地址)为 
然后计时到器件中。 操作码后跟 
一个地址和至少一个数据字节。 
SPI 寻址表示为0 1 0 0 ADR2 ADR1 ADR0 R/W A7 A6 A5 A3 A2 A1 A0。 使用硬件寻址000、因此我们有一个编码为0x4100 (地址0、读取=1)和寄存器地址0x00的 uint32_t。
SSIDataPut (SSI0_BASE、0x4100);
while (SSIBusy (SSI0_BASE));
SSIDataGet (SSI0_BASE、rxData);
有16个时钟脉冲、输出数据良好、但随后时钟停止。 输入数据通常会在下一次发送期间传入。 我们一直在尝试发送额外的字节来保持时钟处于活动状态、但我们无法使它可靠地工作。 我可以更改地址、并在其他寄存器返回 POR 默认值时看到相同的结果。 请提供帮助! 谢谢
观察示波器、可以看到* CS 正常、我看到输出 SSI0 TX 使用0x4100。 紧随其后的是 SSIDataGet ()。
				

