请问CH32V307使用USB从机如何使用双缓冲?

CH32V307使用480Mbps高速USB作为设备,开启EP1OUT端点的ISO同步接收模式,现在每个微帧传输数据量大于1024字节,需要每个微帧发包2次,需要用到双缓冲保证有足够的的时间取回数据。手册里面ISO传输双缓冲区没有看明白,希望给予更详细的解释。最好给一下使用方法。`{M@VU4N0ZRIHM_}}Y5H(]8.png

双缓冲的可以通过两种方式实现:

    一种是通过硬件的双缓冲即收发数据均通过两个独立的缓冲区实现,配置方式如下所示(摘自CH32FV2x_V3xRM.PDF):

image.png


image.png

image.png


image.png

    第二种方式是通过DMA半偏中断实现,当产生半偏中断时切换收发缓冲区,从而实现双缓冲。


你说的这个是12M的全速USB的配置。我用的是480M的高速USB,不过还是谢谢你的回答。项目暂且搁置了,后面有时间在研究这个双缓冲。


只有登录才能回复,可以选择微信账号登录