微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI WIFI设计交流 > SPIDataPut发送一个字节失败问题

SPIDataPut发送一个字节失败问题

时间:10-02 整理:3721RD 点击:

SPIDataPut(unsigned long ulBase, unsigned long ulData),这个函数发送的类型是unsigned long,当我发送一个字节 SPIDataPut(GSPI_BASE,0x21)后,再次发送SPIDataPut(GSPI_BASE,0x0B)就会一直失败,卡在 while(!(HWREG(ulBase + MCSPI_O_CH0STAT)&MCSPI_CH0STAT_TXS))里面,猜测是因为类型不同,所以FIFO一直非空,但是我要怎么发送一个字节呢

如果需要发送多个字节,请使用SPITransfer函数。

关于SPIDataPut和SPITransfer区别请看这边: https://e2e.ti.com/support/wireless_connectivity/simplelink_wifi_cc31xx_cc32xx/f/968/t/559854

你好,我明白两个函数的区别,但是我的外设(ADS1198)是需要先发送字节(操作符),延时后再发送后面的,所以我是用SPIDataPut先发送一个字节,延时,再调用SPITransfer,但这样发送存在问题,就是似乎SPIDataPut发送了一个自己设定的字节,还有一个0,这样的后果就是SPITransfer发送后相当于发送的是0加上我的字节数减1个字节。

还有一个问题就是SPIDataPut发送了一个自己设定的字节后,延时,再用SPIDataPut发送会不成功。会一直卡在while(!(HWREG(ulBase + MCSPI_O_CH0STAT)&MCSPI_CH0STAT_TXS))

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top