打印
[STM32F1]

Bus Hound如何往外发数据

[复制链接]
2172|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
最近在搞USB,STM32F103C8T6可以往电脑端发数据了,
通过Bus Hound可以监测到数据。
现在我想通过Bus Hound往单片机发数据,
请问高手,该如何操作呀?谢谢!
沙发
Cjy_JDxy|  楼主 | 2018-5-11 09:35 | 只看该作者
我做了如下尝试。我点击下面这个按钮:

出现以下界面:

点击USB选项卡,点击load选项,加载一个文件123.txt,这个文件只有一个数据55。


点击运行,就出错了。


使用特权

评论回复
板凳
icecut| | 2018-5-11 09:48 | 只看该作者
这个usb不正常....所以无法发送...你找个键盘看看正常的是什么样子.

使用特权

评论回复
地板
Cjy_JDxy|  楼主 | 2018-5-11 09:58 | 只看该作者
这个USB是正常的,
刚才没选中。

使用特权

评论回复
5
Cjy_JDxy|  楼主 | 2018-5-11 10:09 | 只看该作者
Cjy_JDxy 发表于 2018-5-11 09:58
这个USB是正常的,
刚才没选中。

有两个,一个是USB输入设备,一个是HID-compliant device.

使用特权

评论回复
6
xinpian101| | 2018-5-11 10:11 | 只看该作者
没用过这个高级玩意儿。

使用特权

评论回复
7
Cjy_JDxy|  楼主 | 2018-5-11 11:21 | 只看该作者
我的程序:
/*
************************************************************************
*º¯ÊýÔ ÐÍ£ºvoid EP1_OUT_Callback(void)
*Èë¿Ú²ÎÊý£ºÎÞ
*³ö¿Ú²ÎÊý£ºÎÞ
*º¯Êý¹¦ÄÜ£ºUSBÖжϽÓÊÕ³ÌÐò
************************************************************************
*/
void EP1_OUT_Callback(void)
{
    int i;
    PMAToUserBufferCopy(USB_Rece_Buf, ENDP1_RXADDR, HidLenth);
if  (com_rxbuf_rcount > com_rxbuf_wcount)
  i = com_rxbuf_rcount - com_rxbuf_wcount;
else
  i = com_rxbuf_rcount + COM_RXBUF_MAX - com_rxbuf_wcount;
  
if (i > (HidLenth + 3))
{
  for (i = 0;i < HidLenth;i++)
  {
   write_com_rx_data(USB_Rece_Buf[i]);//°ÑÃüÁîдÈë´®¿Ú»º´æ
  }
}
//if(USB_Rece_Buf[0]==0x35)
  UsbFlag=1;
SetEPRxStatus(ENDP1, EP_RX_VALID);
}
进到USB接收中断,置UsbFlag=1;
然后,主程序判断
if(UsbFlag==1)
  {
   UsbFlag=0;
   Uart1_SendByte(0X55);
   EP1_SendData(USB_Send_Buf);
  }
如果收到数据,串口发一个55,USB回复64个数据。
现在在Bus Hound上往单片机发数据,串口收到55,
可是Bus Hound收不到单片机发送的64个数据。

使用特权

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

本版积分规则

个人签名:绿水本无忧因风皱面,青山原不老为雪白头。

553

主题

3530

帖子

19

粉丝