TI中文支持网
TI专业的中文技术问题搜集分享网站

求助啊

谁能指导指导啊………………就是我想通过spi往外部设备发指令,比如我想发0x11,发送的数据宽度是8位,那我应该往发送寄存器SPIDAT1里写多少值啊?如果外部设备返回一个0x01,在接收寄存器SPIBUF读到的值是多少啊?谁弄过的会的伸出援手吧,感激不尽啊

noaming:

用的哪款芯片

changsen zhao:

回复 noaming:

TMS320C6748EZWT,谢谢解答啊

noaming:

可以配置SPI寄存器:SPI Data Format Register (SPIFMTn)中的CHARLEN,来确定SPI data word length

changsen zhao:

回复 noaming:

移位寄存器是16位吧,如果传输数据我配置成8位的话,假如我想往外发送0x11,是往移位寄存器写0x11还是先左移八位变成成0x1100再写进去?

noaming:

回复 changsen zhao:

这里需要确保你想发送的数据右对齐就可以

changsen zhao:

回复 noaming:

SPI Data Format Registers (SPIFMTn)有四种格式寄存器,怎么选择啊?为什么SPIFMT1后,数据长度配置为8位,它接收时怎么会16数据接收啊

noaming:

回复 changsen zhao:

选择适合自己的格式就可以。另外SPIBUF中的数据是右对齐的,其他位补0。

changsen zhao:

回复 noaming:

嗯嗯,我选择每次传送的数据宽度是八位,为什么SPIBUF每次返回来左边8位也有值(不为零),右对齐,不是应该左边八位全是零么?

changsen zhao:

回复 changsen zhao:

 师傅,您看,我把数据格式选为1,传输的数据长度为8位,怎么接受寄存器一下子就接收了16位数据啊?

赞(0)
未经允许不得转载:TI中文支持网 » 求助啊
分享到: 更多 (0)