查看: 6004|回复: 21

[其他] UBS CDC 发送问题

[复制链接]

该用户从未签到

57

主题

531

帖子

0

金牌会员

Rank: 6Rank: 6

积分
1356
最后登录
2016-12-5
发表于 2016-5-10 15:33:15 | 显示全部楼层 |阅读模式
        小弟做了一个CAN分析仪,芯片用的是k22fx512VLL12,但是为了KSDK1.2.0支持,程序你选择的是K64  100pin的。       主要模块包括:  CAN接口的控制:CAN波特率,滤波,收发等;    USB CDC类虚拟串口的控制,负责CAN报文与上位机的通信;
       主要就是两个工作模式,一个自收发模式(loop自回环),一个是正常模式(接收CAN网络报文,向CAN网络发送报文)。      
       现在存在问题:  在调试的过程中发现“正常模式”下只能接收10帧外设节点的报文,但是“自收发”模式却可以良好通信 。
MCU通过USB CDC发送10帧CAN数据给上位机都可以,但是10帧之后,CDC就发不出了。然后一定要USB CDC通过上位机发送任意1个数据给MCU,MCU才可以再发送数据给上位机。查找CAN接口部分发现数据收发都是正确的,排除了CAN接口部分存在问题的可能。
这个问题确定在USB CDC部分,求吧内大神帮忙分析?



我知道答案 目前已有21人回答
回复

使用道具 举报

该用户从未签到

57

主题

531

帖子

0

金牌会员

Rank: 6Rank: 6

积分
1356
最后登录
2016-12-5
 楼主| 发表于 2016-5-10 15:36:04 | 显示全部楼层
下位机我也模拟了CAN数据来自动上发,情况是一样的,依然是只能上发10条,USB CDC buff的问题?
回复 支持 反对

使用道具 举报

该用户从未签到

723

主题

6382

帖子

0

超级版主

Rank: 8Rank: 8

积分
25498
最后登录
2025-9-11
发表于 2016-5-11 11:05:37 | 显示全部楼层
LuoR 发表于 2016-5-10 15:36
下位机我也模拟了CAN数据来自动上发,情况是一样的,依然是只能上发10条,USB CDC buff的问题? ...

OK, 请问正常模式你是采样怎样的机制使得USB CDC知道有新的报文进来,然后发送给PC上位机呢,是不是这个机制有缺陷呢?
回复 支持 反对

使用道具 举报

该用户从未签到

16

主题

52

帖子

0

中级会员

Rank: 3Rank: 3

积分
240
最后登录
2017-6-28
发表于 2016-5-11 14:44:11 | 显示全部楼层
我也遇到过这样的问题,连续调用发送函数会发不了数据
回复 支持 反对

使用道具 举报

该用户从未签到

57

主题

531

帖子

0

金牌会员

Rank: 6Rank: 6

积分
1356
最后登录
2016-12-5
 楼主| 发表于 2016-5-11 16:55:16 | 显示全部楼层
小恩GG 发表于 2016-5-11 11:05
OK, 请问正常模式你是采样怎样的机制使得USB CDC知道有新的报文进来,然后发送给PC上位机呢,是不是这个 ...

      正常模式是通过CAN接口来接收报文,外接了一个CAN分析仪来作为数据供给的一个节点,当然是连接的CAN_H,和CAN_L.通过这个发送报文给咱们的板子。
      然后CAN接口接收,转发给串口,将数据封装到USB-CDC的 send_buf[] 里来发送的,至于发送部分就是调用的例程发送函数。
回复 支持 反对

使用道具 举报

该用户从未签到

57

主题

531

帖子

0

金牌会员

Rank: 6Rank: 6

积分
1356
最后登录
2016-12-5
 楼主| 发表于 2016-5-11 16:55:33 | 显示全部楼层
华夏雄鹰 发表于 2016-5-11 14:44
我也遇到过这样的问题,连续调用发送函数会发不了数据

后来是怎么解决的呢?
回复 支持 反对

使用道具 举报

该用户从未签到

57

主题

531

帖子

0

金牌会员

Rank: 6Rank: 6

积分
1356
最后登录
2016-12-5
 楼主| 发表于 2016-5-11 16:56:08 | 显示全部楼层
小恩GG 发表于 2016-5-11 11:05
OK, 请问正常模式你是采样怎样的机制使得USB CDC知道有新的报文进来,然后发送给PC上位机呢,是不是这个 ...

这个机制缺陷指的是哪部分?
回复 支持 反对

使用道具 举报

该用户从未签到

57

主题

531

帖子

0

金牌会员

Rank: 6Rank: 6

积分
1356
最后登录
2016-12-5
 楼主| 发表于 2016-5-11 17:33:57 | 显示全部楼层
小恩GG 发表于 2016-5-11 11:05
OK, 请问正常模式你是采样怎样的机制使得USB CDC知道有新的报文进来,然后发送给PC上位机呢,是不是这个 ...

版主,之前说到的操作系统,这个代码具体是什么OS?
回复 支持 反对

使用道具 举报

该用户从未签到

723

主题

6382

帖子

0

超级版主

Rank: 8Rank: 8

积分
25498
最后登录
2025-9-11
发表于 2016-5-12 09:52:37 | 显示全部楼层
LuoR 发表于 2016-5-11 17:33
版主,之前说到的操作系统,这个代码具体是什么OS?

你首先去除CAN总线部分的代码,手动添加代码模拟CAN总线报文收到,然后再转交给USB CDC发送的工程上传,我这边再试试
回复 支持 反对

使用道具 举报

该用户从未签到

57

主题

531

帖子

0

金牌会员

Rank: 6Rank: 6

积分
1356
最后登录
2016-12-5
 楼主| 发表于 2016-5-12 10:13:09 | 显示全部楼层
小恩GG 发表于 2016-5-12 09:52
你首先去除CAN总线部分的代码,手动添加代码模拟CAN总线报文收到,然后再转交给USB CDC发送的工程上传, ...

好的,版主,您看一下
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2025-9-11 18:27 , Processed in 0.111457 second(s), 29 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

快速回复 返回顶部 返回列表