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

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管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版