3409|6

78

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

736BSPI接收问题 [复制链接]

用SPI接收数据,数据长度是变化的,在初始化的时候设置了RXFIFOsize为16,接收一次数据足够了,现在有个疑问,当数据长度达不到16个字节的时候,怎么知道这次数据接收已经完成了?我看了DATASHEET好像没有这方面的说明啊?
CLK MOSI在空闲的时候是低电平,请教下版主
此帖出自stm32/stm8论坛

最新回复

                                 看看一个数据帧最小的长度是多少,将FIFO深度设置为这个数值。FIFO满了就转移数据,转完了以后在继续查接受标志,用定时器设置超时检查。这样效率会高一些。最简单的就是我在电话中与你说的,向普通的8bit MCU的UART接口一样,没有FIFO。收到一个转移一个。在自行根据数据做结构的拼装,时间虽然浪费点,但实施起来简单。   详情 回复 发表于 2008-8-13 18:22
点赞 关注
 

回复
举报

80

帖子

0

TA的资源

一粒金砂(初级)

沙发
 

你应该约定好主从通信的数据量,而不能使用变长的数据包

                                 这是你系统设计上的缺陷。
此帖出自stm32/stm8论坛
 
 

回复

86

帖子

0

TA的资源

一粒金砂(初级)

板凳
 

崩溃了

                                 如果改用外部中断来接收,两个外部中断之间最小时间间隔是多少啊?
此帖出自stm32/stm8论坛
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

4
 

BSPI通信怎么又牵扯到外部中断?

                                 楼主的逻辑好像有点混乱?
此帖出自stm32/stm8论坛
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

5
 

接收外部的数据改不了

                                 外部的数据格式我改不了的,他发送的格式可以用SPI接收到,如果像你说的不能接收变长数据包,所以苦恼。如果不能用spi接收我想考虑下用外部中断来接收
此帖出自stm32/stm8论坛
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

6
 

既然用外部中断都可以接受,还不如使用SPI一个字一个字地

                                 不要用FIFO,每收到一个字(16位)中断一次,然后判断是否完成接收,或用TIMER进行超时控制。这样比用外部中断好多了。
此帖出自stm32/stm8论坛
 
 
 

回复

84

帖子

0

TA的资源

一粒金砂(初级)

7
 

看一看收到的数据格式

看看一个数据帧最小的长度是多少,将FIFO深度设置为这个数值。FIFO满了就转移数据,转完了以后在继续查接受标志,用定时器设置超时检查。这样效率会高一些。


最简单的就是我在电话中与你说的,向普通的8bit MCU的UART接口一样,没有FIFO。收到一个转移一个。在自行根据数据做结构的拼装,时间虽然浪费点,但实施起来简单。
此帖出自stm32/stm8论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表