求救:关于93C46在16位模式的SPI读写问题
AT93C46A(16位模式)与PIC16F877的 SPI通信怎么发送两个字节的数据(16位)。网上的都是8位的数据传送。SSPBUF是8位的,那怎么写发送两个字节的C语言程序呢。右移8位发送也没发过去。
高手指点一下。有没有参考的文献什么。
这里先谢谢了。 AT93C46A的16位模式时序:
在16位模式下,每个数据/地址都需要以16位形式传输(MSB优先)。
命令格式示例:START_BIT(1) + OPCODE(2) + ADDRESS(6) + DATA(16)(具体根据操作类型变化)。
PIC16F877的SPI配置:
确保SPI模块配置为MSB优先(与AT93C46A一致)。
时钟极性(CPOL)和相位(CPHA)需匹配AT93C46A要求(通常模式0或3)。 是的,经常遇到有的芯片是16位数据 你连续发两个8BIT不就是16BIT了,你要知道是高字节在前还是低字节在前。
页:
[1]