社区导航

 

搜索
查看: 1320|回复: 10

[蓝牙BLE] BlueNRG-1蓝牙自拍杆

[复制链接]

6358

TA的帖子

10

TA的资源

版主

Rank: 6Rank: 6

发表于 2018-4-25 22:41 | 显示全部楼层 |阅读模式
本帖最后由 littleshrimp 于 2018-4-25 22:42 编辑

打开keyboard.c
修改reportDesc内容

  1. uint8_t reportDesc[] = {
  2.     0x05, 0x0c,                    // USAGE_PAGE (Consumer Devices)
  3.     0x09, 0x01,                    // USAGE (Consumer Control)
  4.     0xa1, 0x01,                    // COLLECTION (Application)
  5.     0x15, 0x00,                    //   LOGICAL_MINIMUM (0)
  6.     0x25, 0x01,                    //   LOGICAL_MAXIMUM (1)
  7.     0x09, 0xe9,                    //   USAGE (Volume Up)
  8.     0x09, 0xea,                    //   USAGE (Volume Down)
  9.     0x09, 0x30,                    //   USAGE (Power)
  10.     0x75, 0x01,                    //   REPORT_SIZE (1)
  11.     0x95, 0x02,                    //   REPORT_COUNT (2)
  12.     0x81, 0x06,                    //   INPUT (Data,Var,Rel)
  13.     0x09, 0xe2,                    //   USAGE (Mute)
  14.     0x95, 0x01,                    //   REPORT_COUNT (1)
  15.     0x81, 0x06,                    //   INPUT (Data,Var,Rel)
  16.     0x95, 0x05,                    //   REPORT_COUNT (5)
  17.     0x81, 0x07,                    //   INPUT (Cnst,Var,Rel)
  18.     0xc0                           // END_COLLECTION   
  19. };
复制代码

找到Configure_HidPeripheral函数添加Button初始化内容

  1.   /* Button Init */
  2.   SdkEvalPushButtonInit(BUTTON_1);
复制代码

修改DeviceInputData函数里的内容

  1. uint8_t buttonState = 0;
  2. void DeviceInputData(void)
  3. {
  4.   uint8_t ret, nmbTimes, keys[8]={0,0,0,0,0,0,0,0};

  5.   if(SdkEvalPushButtonGetState(BUTTON_2) == RESET)
  6.   {
  7.     if(buttonState == 0)
  8.     {
  9.       buttonState = 1;      
  10.       PRINTF("button1 pressed");
  11.     }
  12.   }
  13.   else
  14.   {
  15.     buttonState = 0;
  16.   }
  17.   if(buttonState == 1)
  18.   {
  19.       if (hidDeviceStatus() & HID_DEVICE_READY_TO_NOTIFY) {

  20.         SdkEvalLedOn(LED3);
  21.         if(buttonState == 1)
  22.         {
  23.           buttonState = 2;
  24.           keys[0] = 1;
  25.         }
  26.         else
  27.         {
  28.           keys[0] = 0;
  29.         }
  30.         ret = hidSendReport(0, INPUT_REPORT, sizeof(keys), keys);
  31.         if (ret != BLE_STATUS_SUCCESS)
  32.           PRINTF("Error during send the report %02x\n", ret);
  33.         keys[0] = 0;
  34.         nmbTimes = 0;
  35.         do {
  36.           ret = hidSendReport(0, INPUT_REPORT, sizeof(keys), keys);
  37.           nmbTimes++;
  38.         } while ((ret != BLE_STATUS_SUCCESS) && (nmbTimes < 200));
  39.         hidSetNotificationPending(TRUE);
  40.       } else {
  41.         SdkEvalLedOff(LED3);
  42.       }
  43.   }
  44. }
复制代码
工程文件:bluenrg-1自拍杆.rar
bluenrg-1自拍杆.rar (1.38 MB, 下载次数: 21)
虾扯蛋


回复

使用道具 举报

152

TA的帖子

0

TA的资源

版主

Rank: 6Rank: 6

发表于 2018-5-7 19:27 | 显示全部楼层
顶一下


回复

使用道具 举报

1

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2018-7-31 09:21 | 显示全部楼层
感谢楼主的分享!


回复

使用道具 举报

1

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2019-2-21 18:49 | 显示全部楼层
谢谢楼主分享


回复

使用道具 举报

7

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2019-3-14 17:28 | 显示全部楼层
支持一下,


回复

使用道具 举报

26

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2019-5-29 17:31 | 显示全部楼层
感谢分享


回复

使用道具 举报

26

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2019-5-29 17:35 | 显示全部楼层
为什么我的下载不了?


回复

使用道具 举报

6358

TA的帖子

10

TA的资源

版主

Rank: 6Rank: 6

 楼主| 发表于 2019-5-29 17:49 | 显示全部楼层
我的发附件下载不了还是?
虾扯蛋


回复

使用道具 举报

26

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2019-6-13 11:33 | 显示全部楼层

感谢大佬分享

 



回复

使用道具 举报

24

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2019-6-19 09:22 | 显示全部楼层

谢谢楼主分享



回复

使用道具 举报

10

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2019-6-26 10:10 | 显示全部楼层

谢谢分享



回复

使用道具 举报

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

关闭

站长推荐上一条 /5 下一条

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

Archiver|手机版|小黑屋|电子工程世界 ( 京ICP证 060456 )

GMT+8, 2019-9-15 23:57 , Processed in 0.349878 second(s), 16 queries , Gzip On, MemCache On.

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