我想实现一个蓝牙HID的主机端,也就是允许蓝牙键盘连接到我的设备,输入文字。有没有现成的模块方便实现这个功能?
我知道蓝牙HID的设备端有很多现成的模块,简单接在MCU上就可以模拟蓝牙键盘鼠标。但没有找到主机端的模块。
离线
问一下f1c100s的SPI DMA的问题啊,spi的DMA发送是不是每次只能发送64个字节??
离线
问一下f1c100s的SPI DMA的问题啊,spi的DMA发送是不是每次只能发送64个字节??
没有限制,反正是自动的,由SPI FIFO来控制进度。SPI控制器自动一个一个地把FIFO的数据发送出去。FIFO设置trigger level,当FIFO里的数据长度大于或小于这个数时,就发送DRQ,DMA会自动拷贝新数据过来。
离线
liuyuedong 说:问一下f1c100s的SPI DMA的问题啊,spi的DMA发送是不是每次只能发送64个字节??
没有限制,反正是自动的,由SPI FIFO来控制进度。SPI控制器自动一个一个地把FIFO的数据发送出去。FIFO设置trigger level,当FIFO里的数据长度大于或小于这个数时,就发送DRQ,DMA会自动拷贝新数据过来。
我是参照这个例程写的程序,实际测试的时候,设置长度小于等于64的时候都是正常的,当发送数据长度大于64的时候,只能发送64个字节
离线
https://whycan.com/t_3405.html
我参照的这个程序
离线
我是参照这个例程写的程序,实际测试的时候,设置长度小于等于64的时候都是正常的,当发送数据长度大于64的时候,只能发送64个字节
SPI_CTL_REG 的 TP_EN,设为0试试。因为SPI是一边发送一边接收的,当RX FIFO满了,会停掉发送数据。所以在DMA的时候可以把这个bit设为0。
离线
liuyuedong 说:我是参照这个例程写的程序,实际测试的时候,设置长度小于等于64的时候都是正常的,当发送数据长度大于64的时候,只能发送64个字节
SPI_CTL_REG 的 TP_EN,设为0试试。因为SPI是一边发送一边接收的,当RX FIFO满了,会停掉发送数据。所以在DMA的时候可以把这个bit设为0。
万分感谢,我调通了。发送的数据长度可以超过64个字节了
离线