完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
这个跟SD卡的状态有关,上面那个是在等待卡是否准备好。下面的是给卡发送命令后等待卡的响应。
|
|
|
|
|
|
|
|
一个是等待状态,一个是读取状态
|
|
|
|
|
|
|
|
|
|
|
|
因為你沒有放上SD_SPI_ReadWriteByte函式主體,我參考網路上的大概是這樣
u8 SD_SPI_ReadWriteByte(u8 data) { #ifdef STM32F407 return SPI1_ReadWriteByte(data); #endif } uint8_t SPI1_ReadWriteByte(uint8_t data) { #ifdef STM32F407 SPI1->DR = data; // write data to be transmitted to the SPI data register while( !(SPI1->SR & SPI_I2S_FLAG_TXE) ); // wait until transmit complete while( !(SPI1->SR & SPI_I2S_FLAG_RXNE) ); // wait until receive complete while( SPI1->SR & SPI_I2S_FLAG_BSY ); // wait until SPI is not busy anymore return SPI1->DR; // return received data from SPI data register #endif } 不難看出收發是都要使用到這個函數,而您的例子而言,SD_Wait_Ready函數只是用來釋放MOSI或者MISO,對於發送或者接收都只有一條會工作,另一條閒置,所以只要確定是釋放狀態即可 而SD_SendCmd函數,則是要去接收Slave回傳的響應值並作分析,跟上例目的就不同,上例只有釋放/非釋放的情況 以上供參考 |
|
|
|
|
|
|
|
你要根据sd卡的spi情况来写
|
|
|
|
一个是等待状态,一个是读取状态
|
|
|
|
只有小组成员才能发言,加入小组>>
785 浏览 0 评论
1151 浏览 1 评论
2527 浏览 5 评论
2859 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2709 浏览 6 评论
keil5中manage run-time environment怎么是灰色,不可以操作吗?
1068浏览 3评论
190浏览 2评论
455浏览 2评论
368浏览 2评论
M0518 PWM的电压输出只有2V左右,没有3.3V是怎么回事?
453浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-20 21:55 , Processed in 1.314302 second(s), Total 97, Slave 77 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号