Other Parts Discussed in Thread: MSP430FR2433
您好、
我正在设计一个 MSP430FR2433 SPI 主器件 (UCA1) 与通信 MSP430FR2433 SPI 从器件 。 主器件发送一个命令字节 (0xA5)、但绝不会接收从器件的响应。
消息
主:
-
SPI 模式 3 (UCCKPL=1、UCCKPH=1)、MSB 在前、SMCLK=SPI 8MHz
-
CS 低电平有效、当前在发送命令后立即拉至高电平
-
使用具有虚拟字节的 ISR 进行 RX
从器件:
-
SPI 模式 3、以 1 字节的状态 (0xA5) 进行响应
-
用于初始化的受控复位引脚
意见/问题
-
主器件发送命令、但
ReceiveBuffer[0]保持为 0x00 -
为 RX 发送的虚拟字节不会产生有效响应
-
ISR 使用
__delay_cycles、这可能会影响计时 -
发送命令后会立即发出 CS
MSP430FR2433 SPI
-
CS 必须保持低电平 对于整个事务;提前发出 CS 可能会中止从器件传输
-
SPI 从器件可能没有响应 如果 CPOL/CPHA 不匹配
-
ISR 内部延迟 可能会错位 SPI 边沿并妨碍正确接收
-
全双工 SPI 要求为每个接收到的字节发送一个虚拟字节
-
UCAx 模块不会自动处理多字节传输 ;需要 ISR 中的状态机
问题
-
如何正确地结构 CS 处理和 ISR 以可靠地接收从器件数据?
-
《MSP430FR2433 SPI 主器件/从器件单字节读取/写入的任何建议最佳实践》?
谢谢!