你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。
chrome
firefox
safari
ie8及以上
ST
官网
STM32
中文官网
ST
全球论坛
登录/注册
首页
技术问答
话题
资源
创客秀
视频
标签
积分商城
每日签到
两个stm32进行spi通信的一些问题
[复制链接]
赵怡彬
提问时间:2016-12-27 21:24 /
问答
是否解决:
上一个贴用while不停地循环没有效果,于是这次换了个方式,可以显示了,只是什么会出现数据丢失的情况,明明我发了10个只收到了3个。图一和图二时主机的主函数和配置。图三和图四时从机的主函数和配置。不知道是我usart的原因还是spi配置的原因还是我main里发送和接受方式的原因。理论上应该是不usart的原因因为我单独测试串口是没问题的。还有我rcc使能是在rcc配置里的,没有写出来。求大神帮忙看看
赞
0
收藏
2
评论
6
分享
发布时间:2016-12-27 21:24
举报
请先
登录
后回复
6个回答
赵怡彬
回答时间:2016-12-27 21:38:33
a0a.1 32b0c
已经解决了。从机接收main里改成:
for(i=0;i<10;i++)
{
while(SPI_I2S_GetFlagStatus(SPI1,SPI_I2S_FLAG_RXNE)==RESET);
Buffer[i]= SPI_I2S_ReceiveData(SPI1);
}
for(j=0;j<10;j++)
{
while(USART_GetFlagStatus( USART1, USART_FLAG_TC)==RESET);
USART_SendData(USART1,Buffer[j]);
}
这样就行了。我把工程放在一个新帖里大家也可以一起学习一下。
赞
0
评论
回复
支持
反对
andypanfan
回答时间:2016-12-28 08:52:47
a0a.1 32b0c
:lol:lol:lol:lol
赞
0
评论
回复
支持
反对
leo121_3006061
回答时间:2016-12-28 12:09:07
a1024a.1 32b0c
赞
0
评论
回复
支持
反对
黑皮男
回答时间:2016-12-28 12:50:33
a0a.1 32b0c
确实,串口发送会暂用比较长的时间
赞
0
评论
回复
支持
反对
jackten
回答时间:2016-12-28 15:44:25
a0a.1 32b0c
过来学习学习
赞
0
评论
回复
支持
反对
五哥1
回答时间:2016-12-28 19:16:32
a1024a.1 32b0c
谢谢分享
赞
0
评论
回复
支持
反对
所属标签
相似问题
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
微信公众号
手机版
快速回复
返回顶部
返回列表
for(i=0;i<10;i++)
{
while(SPI_I2S_GetFlagStatus(SPI1,SPI_I2S_FLAG_RXNE)==RESET);
Buffer[i]= SPI_I2S_ReceiveData(SPI1);
}
for(j=0;j<10;j++)
{
while(USART_GetFlagStatus( USART1, USART_FLAG_TC)==RESET);
USART_SendData(USART1,Buffer[j]);
}
这样就行了。我把工程放在一个新帖里大家也可以一起学习一下。