2714|0

2

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

关于MSP430F55xx的USB HID与上位机不能收发数据的问题 [复制链接]

我现在的问题是现在板子可以与TI的msp430ware的USB HID Demo的MSP430 HID USB Application通讯成功,

图片中的软件是在CCS中的附带的一个测试软件,发给用户的话,总不能让每台上面安装CCS吧!



在网上下载的Java_HID_Demo如附件,我打开来是这样的,没有.exe问件,也就是无从调用连接与所提供的库函数。


但与其他软件(这款软件是在网上下载的,并且已发布,不是自己编写,我会给你加在在附件中)可以识别我的USB设备,但发送SetupPacket没反应,更不可能收发数据(根本接收不到USB底层数据)



我还用在你们的官网买的两款5529的开发板试了,一样的情况:



下面是我自己读取HID1接受缓冲X/Y区基址寄存器的代码,用MSP430 HID USB Application,基址寄存器stUsbHandle[0].oep_X/Y_Buffer中的数据改变,
其他软件发送数据连中断都不会进,基址寄存器stUsbHandle[0].oep_X/Y_Buffer中的数据不会改变,可见接受HOST数据包时,底层是收不到的;
BYTE * pEP1;
       BYTE i;
        pEP1=(BYTE*)stUsbHandle[0].oep_X_Buffer;
        for(i=0;i<*(pEP1+1);i++)//EP_MAX_PACKET_SIZE
        {
          Zigbee_TXbuf=*pEP1;//(pEP1+2)
          pEP1++;
        }
        pEP1=(BYTE*)stUsbHandle[0].oep_Y_Buffer;
        for(i=0;i<*(pEP1+1);i++)//EP_MAX_PACKET_SIZE
        {
          Zigbee_RXbuf=*pEP1;//(pEP1+2);
          pEP1++;
        }
           }/**/



我今天在Debug模式下试了下,上电后换用其他任何软件发送正确的VID:0x2047,PID:0x0301,不能实现正常的Setup事务处理与传输(连#pragma vector=USB_UBM_VECTOR中断都不会进),

只有你们的MSP430 HID USB Application可以,可见MSP430f5510单片机自带USB功能通信协议和计算机底层USB通信协议冲突,USB HID Demo软件源代码中应该是有两者协议的管道。

输入/出端点0的初始化配置如下:

#define USBIEPCNF_0_      (0x0920u)    /* USB Input endpoint_0: Configuration */
DEFC(   USBIEPCNF_0     , USBIEPCNF_0_)
#define USBIEPCNT_0_      (0x0921u)    /* USB Input endpoint_0: Byte Count */
DEFC(   USBIEPCNT_0     , USBIEPCNT_0_)
#define USBOEPCNF_0_      (0x0922u)    /* USB Output endpoint_0: Configuration */
DEFC(   USBOEPCNF_0     , USBOEPCNF_0_)
#define USBOEPCNT_0_      (0x0923u)    /* USB Output endpoint_0: byte count */
DEFC(   USBOEPCNT_0     , USBOEPCNT_0_)


/* Set settings for EP0 */

    //NAK both 0 endpoints and enable endpoint 0 interrupt
USBIEPCNF_0 = 0x04+0x80+0x08;


USBOEPCNF_0 = 0x8C;

USBIEPCNT_0 = 0x80;

USBOEPCNT_0 = 0x80;

输入/出端点1的初始化配置如下:
#define USBIEPCNF_1_         (0x23C8u)    /* Input Endpoint_1: Configuration */
DEFC(   USBIEPCNF_1        , USBIEPCNF_1_)
#define USBOEPCNF_1_         (0x2388u)    /* Output Endpoint_1: Configuration */
DEFC(   USBOEPCNF_1        , USBOEPCNF_1_)
/* Set settings for IEP1 */
USBIEPCNF_1 =  EPCNF_USBIE | EPCNF_UBME | EPCNF_DBUF;//0x23C8
    USBIEPBBAX_1 = 0x10;
    USBIEPBBAY_1 = 0x18;
    USBIEPBCTX_1 = 0x80;
    USBIEPBCTY_1 = 0x80;  
    USBIEPSIZXY_1 = 0x40;
/* Set settings for OEP1 */   
    USBOEPCNF_1 =  EPCNF_USBIE | EPCNF_UBME | EPCNF_DBUF;//0x2388
    USBOEPBBAX_1 = 0x00;
    USBOEPBBAY_1 = 0x08;
    USBOEPBCTX_1 = 0x00;
    USBOEPBCTY_1 = 0x00;
    USBOEPSIZXY_1 = 0x40;










无标题6.png (612.11 KB, 下载次数: 0)

无标题6.png

无标题7.png (575.18 KB, 下载次数: 0)

无标题7.png
 
点赞 关注

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表