打印

求助--stm32f103x的虚拟串口发送异常问题

[复制链接]
1465|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
清风致影|  楼主 | 2012-12-6 09:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

大家好 现在我使用stm32f103x的虚拟串口,发现发送数据到电脑不正常,有时候进不了中断,请问是什么原因造成的?谢谢

一下是代码部分
端点定义
/* EP0  */
/* rx/tx buffer base address */
#define ENDP0_RXADDR        (0x60)
#define ENDP0_TXADDR        (0xa0)
/* EP1  */
/* tx buffer base address */
#define ENDP1_TXADDR        (0xe0)
/* EP2  */
/* Rx buffer base address */
#define ENDP2_TXADDR        (0x120)
//端点初始化

void USB_Reset()
{
        /* Initialize Endpoint 0 */
        SetEPType(ENDP0, EP_CONTROL);
        SetEPTxStatus(ENDP0, EP_TX_NAK);
        SetEPRxAddr(ENDP0, ENDP0_RXADDR);
        SetEPRxCount(ENDP0, 64);
        SetEPTxAddr(ENDP0, ENDP0_TXADDR);
        Clear_Status_Out(ENDP0);
        SetEPRxValid(ENDP0);
        
        // Initialize Endpoint 1
        SetEPType(ENDP1, EP_BULK);
        SetEPTxAddr(ENDP1, ENDP1_TXADDR);
         SetEPTxStatus(ENDP1, EP_TX_NAK);
        SetEPRxStatus(ENDP1, EP_RX_DIS);
        
        // Initialize Endpoint 2
        SetEPType(ENDP2, EP_INTERRUPT);
        SetEPTxAddr(ENDP2, ENDP2_TXADDR);
         SetEPRxStatus(ENDP2, EP_RX_DIS);
        SetEPTxStatus(ENDP2, EP_TX_NAK);
        
        // Initialize Endpoint 3
        SetEPType(ENDP3, EP_BULK);
        SetEPRxAddr(ENDP3, ENDP3_RXADDR);
        SetEPRxCount(ENDP3, 64);
        SetEPRxStatus(ENDP3, EP_RX_VALID);
        SetEPTxStatus(ENDP3, EP_TX_DIS);
}
//发送数据
//我发的数据都是小于64个的 没有做大于64个的处理
void usb_send(uint8_t  *pindat,uint8_t len)
{
    if(bDeviceState != CONFIGURED)
    {
        UserToPMABufferCopy(pindat, ENDP1_TXADDR,len);  
        SetEPTxCount(ENDP1,len);
        SetEPTxValid(ENDP1);
        usb_state = USB_BUSY;
        int timout = 0;
        while(usb_state == USB_BUSY)
        {
            if(timout++ > 0xfff)
            {               
                return;
            }
        }
    }
}
//端点1中断
void EP1_IN_Callback(void)
{
    if(usb_state  == USB_BUSY)
    {
        usb_state = USB_FREE;
    }
}
沙发
清风致影|  楼主 | 2012-12-6 14:10 | 只看该作者
没人遇到过么 自己顶下

使用特权

评论回复
板凳
djqinqing| | 2013-7-10 14:26 | 只看该作者
我现在也遇到了,就发现电压一高时,发送中断就进不来,郁闷

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:我在背后默默的看着你 默默的看着你渐去渐远渐无影

164

主题

1166

帖子

2

粉丝