您尚未登录。

楼主 #1 2020-09-16 13:43:57

Quotation
会员
注册时间: 2018-10-04
已发帖子: 296
积分: 259.5

怎么实现一个蓝牙HID主机端?

我想实现一个蓝牙HID的主机端,也就是允许蓝牙键盘连接到我的设备,输入文字。有没有现成的模块方便实现这个功能?
我知道蓝牙HID的设备端有很多现成的模块,简单接在MCU上就可以模拟蓝牙键盘鼠标。但没有找到主机端的模块。

离线

#2 2020-09-16 13:46:30

哇酷小二
管理员
所在地: 你猜
注册时间: 2020-04-22
已发帖子: 3,388
积分: 1902
个人网站

Re: 怎么实现一个蓝牙HID主机端?

模块不知道有没有,自己实现可以用btstack协议栈。





离线

#3 2020-09-16 17:01:12

liuyuedong
会员
注册时间: 2020-02-09
已发帖子: 38
积分: 28

Re: 怎么实现一个蓝牙HID主机端?

问一下f1c100s的SPI DMA的问题啊,spi的DMA发送是不是每次只能发送64个字节??

离线

楼主 #4 2020-09-17 09:28:05

Quotation
会员
注册时间: 2018-10-04
已发帖子: 296
积分: 259.5

Re: 怎么实现一个蓝牙HID主机端?

liuyuedong 说:

问一下f1c100s的SPI DMA的问题啊,spi的DMA发送是不是每次只能发送64个字节??

没有限制,反正是自动的,由SPI FIFO来控制进度。SPI控制器自动一个一个地把FIFO的数据发送出去。FIFO设置trigger level,当FIFO里的数据长度大于或小于这个数时,就发送DRQ,DMA会自动拷贝新数据过来。

离线

#5 2020-09-17 10:14:07

liuyuedong
会员
注册时间: 2020-02-09
已发帖子: 38
积分: 28

Re: 怎么实现一个蓝牙HID主机端?

Quotation 说:
liuyuedong 说:

问一下f1c100s的SPI DMA的问题啊,spi的DMA发送是不是每次只能发送64个字节??

没有限制,反正是自动的,由SPI FIFO来控制进度。SPI控制器自动一个一个地把FIFO的数据发送出去。FIFO设置trigger level,当FIFO里的数据长度大于或小于这个数时,就发送DRQ,DMA会自动拷贝新数据过来。

我是参照这个例程写的程序,实际测试的时候,设置长度小于等于64的时候都是正常的,当发送数据长度大于64的时候,只能发送64个字节

离线

#6 2020-09-17 16:24:22

liuyuedong
会员
注册时间: 2020-02-09
已发帖子: 38
积分: 28

Re: 怎么实现一个蓝牙HID主机端?

https://whycan.com/t_3405.html

我参照的这个程序

离线

楼主 #7 2020-09-17 17:16:03

Quotation
会员
注册时间: 2018-10-04
已发帖子: 296
积分: 259.5

Re: 怎么实现一个蓝牙HID主机端?

liuyuedong 说:

我是参照这个例程写的程序,实际测试的时候,设置长度小于等于64的时候都是正常的,当发送数据长度大于64的时候,只能发送64个字节

SPI_CTL_REG 的 TP_EN,设为0试试。因为SPI是一边发送一边接收的,当RX FIFO满了,会停掉发送数据。所以在DMA的时候可以把这个bit设为0。

离线

#8 2020-09-17 17:44:31

liuyuedong
会员
注册时间: 2020-02-09
已发帖子: 38
积分: 28

Re: 怎么实现一个蓝牙HID主机端?

Quotation 说:
liuyuedong 说:

我是参照这个例程写的程序,实际测试的时候,设置长度小于等于64的时候都是正常的,当发送数据长度大于64的时候,只能发送64个字节

SPI_CTL_REG 的 TP_EN,设为0试试。因为SPI是一边发送一边接收的,当RX FIFO满了,会停掉发送数据。所以在DMA的时候可以把这个bit设为0。

万分感谢,我调通了。发送的数据长度可以超过64个字节了

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn