你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

stm32 L476 SPI读取nandflash数据通过USB CDC发送问题

[复制链接]
xiaoxiao0932 提问时间:2016-11-22 19:38 /
最近一直在搞stm32L476的USB CDC通信,基本的发送接收数据没什么问题,通信速度还可以(跟电脑的配置和系统有很大关系---个人感觉),今天在实现读取nandflash数据通过USB CDC发送到上位机的时候总是发着发着就进到USB发送忙的状态,追踪了一下,在不使用SPI读取nandflash数据,直接循环发送数组中固定数据不会出现这个问题,但是只要使用SPI读取nandflash数据,组帧使用USB发送,数据发送不完整就进入到USB繁忙的死循环,还请搞过相关的大神们指点啊,谢谢了先!!!!!!!!!!!!!!!!!!

收藏 评论6 发布时间:2016-11-22 19:38

举报

6个回答
风雪崖 回答时间:2016-11-22 23:19:30
数据发送不完整?
xiaoxiao0932 回答时间:2016-11-23 08:10:58
风雪崖 发表于 2016-11-22 23:19
数据发送不完整?

比如我希望发送500帧数据,可能在100多帧就发送不成功,一直进入USB繁忙的死循环了
高二毛 回答时间:2016-11-23 08:33:04
nand太快了读写速度。

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

xiaoxiao0932 回答时间:2016-11-23 14:51:32
高二毛 发表于 2016-11-23 08:33
nand太快了读写速度。

先谢谢啊!!!
话说 在SPI去读完flash数据后 加入 100微秒的延时可以发送数据不进入死循环状态了(存在丢数据情况),但是这个是每次发送32字节。
我现在每次从flash中读取2048数据放到队列中,把数据拆分加入校验什么的组成32字节格式,再放到20K的数组发出去,还是会出现发送进入死循环的现象,只是加延时能解决吗?这通信速度可怎么保**啊。。。。。。
xiaoxiao0932 回答时间:2016-11-23 15:48:19
加了100微秒延时这通信速度只有不到200K,伤不起啊
高二毛 回答时间:2016-11-24 08:41:58
xiaoxiao0932 发表于 2016-11-23 14:51
先谢谢啊!!!
话说 在SPI去读完flash数据后 加入 100微秒的延时可以发送数据不进入死循环状态了(存在 ...

20K的数组。数据量好大啊。
你可以先这样测试:
1,模拟20k数据,通过USB CDC发送,查看有无问题。
2,从SPI读数据,通过另外额串口发送,查看有无问题
3,结合起来调试。

ps:以前用CDC测试过3K数据通讯,没有问题。你先用个短包测试测试,比如256,512.再搞20K.

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版