本网页已闲置超过3分钟,按键盘任意键或点击空白处,即可回到网页
最热资讯


描述:SPI双机通信源码
个人心得:
在做主从双机通信时,一定要理解好主机和从机的作用,做主机时会控制通信的时钟,从机是不能产生时钟的。如果从机要发送数据,那可以在主机发送数据 的时钟上发送数据。配置上差不多是一样的,就设计主从就得了。我这里接收都是用中断。
还有一点要注意的,做主机接收时,不能和发送共用一个函数。这个为什么我自己现在也没有清楚,只是在实验中测得。
纠错:从机的接收函数改成,这时因为我测试完成后有改动就压包,后来测试发现主机不能正常接收到数据
更正:我之前的两个时钟的理论是不合理的,因为全双工收发是可以共用时钟的,这个我在后面改进的主机程序中有体现。
欢迎大家测试
u8 SPI1_ReadByte(u8 TxData)
{
u8 retry=0;
// while((SPI1->SR&1<<1)==0)//等待发送区空
// {
// retry++;
// if(retry>200)return 0;
// }
// SPI1->DR=TxData; //发送一个byte
retry=0;
while((SPI1->SR&1<<0)==0) //等待接收完一个byte
{
retry++;
if(retry>200)return 0;
}
return SPI1->DR; //返回收到的数据
}
工具:STM32 MINI板两块
注意:NSS软件管理模式,主机:SSM=1,SSI=1。
从机:SSM=1,SSI=0;
连线:主机 SCK<-> SCK 从机
MISO <-> MISO
MOSI<-> MOSI
SPI主机通信程序部分截图:
SPI从机通信程序部分截图:
改进:把主机改成查询接收也是可以的,这时只要一个发送,是真正意义上的全双工了。
部分程序截图:(详见附件内容)
电路城所有电路均源于网友上传或网上搜集,供学习和研究使用,其版权归原作者所有,对可以提供充分证据的侵权信息,本站将在确认后24小时内删除。对本电路进行投诉建议,点击 投诉本电路 反馈给电路城。
直接使用附件资料或需要对资料PCB板进行打样的买家,请先核对资料的完整性,如果出现问题,电路城不承担任何经济损失!
SPI接口通信协议分析:SPI时序、2线、3线、4线SPI及4种常用工作模式
2020-03-03
可实时显示所有SPI通信的逻辑分析仪,一个更好的SPI调试器SPIDriver上手体验
2019-10-29
《来实战》之智能车开源项目12——SPI通信配置程序编写
2020-04-22
基于SPI串行通信结合NOR闪存器件实现低成本存储器解决电路方案设计
2020-05-08
STM32快速开发笔记——串行外设接口之SPI
2020-01-08
购买后评价此方案,将获电路城官方赠送的最高6折折扣码一份,可至您的个人中心-我的折扣码中查看,用于低价购买其他方案内容。
1人评价,平均分4