你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

st-img
chrome
st-img
firefox
st-img
safari
st-img
ie8及以上
shequ.stmicroelectronics.cn
  • ST意法半导体官网
  • STM32中文官网
  • ST全球论坛
登录/注册
  • 首页
  • 技术问答
  • 话题
  • 资源
  • 创客秀
  • 视频
  • 标签
  • 积分商城
  • 每日签到
wangmin0920

wangmin0920

 

回答数 0 关注数 0
关注 私信
  • 动态99
  • 提问
  • 回答0
  • 创客秀 0
  • 分享 0
  • 关注0
1 回答

想用STM32F103C8的单片机做一个操作台(joystick)

STM32F1
Dylan疾风闪电 Dylan疾风闪电 回答时间: 2019-6-24 09:50

本帖最后由 Dylan疾风闪电 于 2019-6-24 10:13 编辑 void Joystick_Send(u8 Keys) {   //第一个字节表示按键,\   第二个字节表示x轴(即鼠标左右移动,0表示不动,正值表示往右移,负值表示往左移),\   第三个字节表示y轴(即鼠标上下移动,0表示不动,正值表示往下移动,负值表示往上移动),\   第四个字节表示鼠标滚轮(正值为往上滚动,负值为往下滚动).   u8 Mouse_Buffer[4] = {0, 0, 0, 0};   s8 X = 0, Y = 0;   u8 Mouse_bit = 0;   switch (Keys)   {   case JOY_LEFT:     X -= 12;     break;   case JOY_RIGHT:     X += 12;     break;   case JOY_UP:     Y -= 12;     break;   case JOY_DOWN:     Y += 12;     break;   case JOY_LeftUp:     X -= 12;     Y -= 12;     break;   case JOY_LeftDown:     X -= 12;     Y += 12;     break;   case JOY_RightUp:     X += 12;     Y -= 12;     break;   case JOY_RightDown:     X += 12;     Y += 12;     break;   case Mouse_LEFT_Down:     Mouse_bit |= 0x1;     break;   case Mouse_RIGHT_Down:     Mouse_bit |= 0x2;     break;   case Mouse_KEY_Up:     Mouse_bit &= 0xC;     break;   default:     return;   }   /* prepare buffer to send */   Mouse_Buffer[1] = X;   Mouse_Buffer[2] = Y;      //0号字节代表左右中键3Byteseft,Right,Mid   Mouse_Buffer[0] = Mouse_bit;      //IN端点使能   USB_SIL_Write(EP1_IN, Mouse_Buffer, EP1_PacketSize);   SetEPTxValid(ENDP1);//端点发送有效 }复制代码其实就是很简单的USB HID模拟鼠标,发送鼠标的物理动作。 注:如果你要自定义USB协议,那工作量会几何增长,涉及的知识主要是USB 2.0协议(包括但不限于设备描述符、报告描述符等) STM32CUBE的话,你直接生成一个USB-HID模板就可以了。 调用USBD_HID_SendReport(&hUsbDeviceFS, msg, 4);

赞0
wangmin0920 wangmin0920


阅读作者更多的帖子

所在话题

参与活动

  • 滴滴押注社区团购,明确“投入不设上限,要做市场第一”

    线下 2020-10-16
  • 滴滴押注社区团购,明确“投入不设上限,要做市场第一”

    网络 2020-10-16
  • 滴滴押注社区团购,明确“投入不设上限,要做市场第一”

    网络 2020-10-16
  • 滴滴押注社区团购,明确“投入不设上限,要做市场第一”

    网络 2020-10-16
  • 滴滴押注社区团购,明确“投入不设上限,要做市场第一”

    线下 2020-10-16
  • 滴滴押注社区团购,明确“投入不设上限,要做市场第一”

    线下 2020-10-16