智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 1368|回复: 0
打印 上一主题 下一主题

[讨论] XS128的SPI读SD卡

[复制链接]

13

主题

183

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1141

热心会员奖章活跃会员奖章优秀会员奖章

威望
666
贡献
335
兑换币
143
注册时间
2011-4-2
在线时间
70 小时
跳转到指定楼层
1#
发表于 2013-5-12 13:09:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 qaabq 于 2013-5-12 13:10 编辑

我看别人写的SPI发送接收函数都是这样写的,
//SPI发送一个字节
void SPI_Send_byte (UINT8 SendData)
{
         while(!SPI0SR_SPTEF);
        (void)SPI0SR;
        SPI0DRL= SendData;
        while(!SPI0SR_SPIF);
        (void)SPI0DRL;
}

//SPI接收一个字节
UINT8 SPI_Receive_byte(void)
{
        while(!SPI0SR_SPTEF);
        (void)SPI0SR;
        SPI0DRL= 0xFF;
        while(!(SPI0SR_SPIF));        
        return(SPI0DRL);
}

干嘛不像下面这样写?
//SPI发送一个字节 void SPI_Send_byte (UINT8 SendData)
{
        while(!SPI0SR_SPTEF);
        SPI0DRL= SendData;
}
//SPI接收一个字节
UINT8 SPI_Receive_byte(void)
{
        while(!(SPI0SR_SPIF));
        return(SPI0DRL);
}
这样写有什么问题吗?请各位大神指教!
另外,SPI0SR_SPTEF和 SPI0SR_SPIF这两个寄存器究竟有什么关系?        


您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-9-27 17:26 , Processed in 0.042475 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表