OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5349|回复: 3

STM 虚拟串口问题

[复制链接]

2

主题

7

帖子

0

精华

新手上路

积分
43
金钱
43
注册时间
2014-6-29
在线时间
1 小时
发表于 2014-7-1 11:07:36 | 显示全部楼层 |阅读模式
5金钱
好不容易自已移植完了代码,测试发现单独发送是成功的,接收也能接收,但接收完后发送不了。请各位大侠帮忙看下:


以下是接收和发送代码

extern  u32 userBuffersize;
extern  u8  userBuffer[];
void EP3_OUT_Callback(void)
{

   userBuffersize = USB_SIL_Read(EP3_OUT, (u8*)(userBuffer+userBuffersize))+userBuffersize;
 
    SetEPRxValid(ENDP3);

}

while里发送的能收到,if里发送的接收不到,但可以肯定if函数进去了,因为temp每过一秒就会回到oxbb (PC 一秒发一次数据)

while(1)
    {
        
        if  (userBuffersize)
        {

            //这里测试过,当我PC向STM发数据时,这里能进来。
            
            temp=0xbb;
      
            USB_SIL_Write(EP1_IN, &temp,1);
      
            SetEPTxValid(ENDP1);
            
            userBuffersize=0;
           
        }
    

////下面的发送没问题,也没看到丢数据
        temp++;
      
        USB_SIL_Write(EP1_IN, &temp,1);
      
        SetEPTxValid(ENDP1);
        
        Delay(500);
    }

最佳答案

查看完整内容[请看2#楼]

终于解决了,但还不知道原因,可能真跟驱动程序与PC应用程序兼容 性有关。换个串口助手就好了。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

2

主题

7

帖子

0

精华

新手上路

积分
43
金钱
43
注册时间
2014-6-29
在线时间
1 小时
 楼主| 发表于 2014-7-1 11:07:37 | 显示全部楼层
终于解决了,但还不知道原因,可能真跟驱动程序与PC应用程序兼容 性有关。换个串口助手就好了。
回复

使用道具 举报

2

主题

7

帖子

0

精华

新手上路

积分
43
金钱
43
注册时间
2014-6-29
在线时间
1 小时
 楼主| 发表于 2014-7-1 11:17:48 | 显示全部楼层
哪位大虾帮忙看看啊,折磨我一上午了。实在找不出原因。。
回复

使用道具 举报

2

主题

7

帖子

0

精华

新手上路

积分
43
金钱
43
注册时间
2014-6-29
在线时间
1 小时
 楼主| 发表于 2014-7-1 11:21:06 | 显示全部楼层
还有一个现象就是,每次我PC发了一数据后,PC接收下面发送的数据好像会停顿一下一样,但数据没有丢失。 总觉得跟驱动有关。我用的驱动是原子在论坛里发的(1.3)
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-6 20:33

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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