各位工程师好,我在调试论坛推荐使用的Keystone_SPI例程,过程中遇到一些问题,故向工程师咨询一下。
在例程中的 SPI_Init() 初始化函数中需要配置SPI的移位方向(见下图1),即SPI_Shift_Direction,它包括两项:SPI_MSB_SHIFT_FIRST和SPI_LSB_SHIFT_FIRST(见下图2)。
在实际应用中发现配置SPI_Shift_Direction 不同会直接影响和从设备的SPI通信(我的从设备ADS1298手册要求是MSB(见图3),但是我设置SPI_Shift_Direction 为SPI_MSB_SHIFT_FIRST时通信不成功,当改变为SPI_LSB_SHIFT_FIRST时则工作正常!)。
希望工程师回答一下
1.SPI_Shift_Direction的工作机理;
2.SPI_MSB_SHIFT_FIRST和SPI_LSB_SHIFT_FIRST两者有何不同,应当基于何种情况才能正确设置;
3.我在工程Properties-general中设定Device endianness为little(见图4),请问这个选项对于选择SPI_MSB_SHIFT_FIRST和SPI_LSB_SHIFT_FIRST有影响吗?如何判断一个机器是大端序(big-endian)还是小端序(little-endian)呢? 请工程师提供一下方法!
thanks in advance!
图1
图2
图3
图4



