DMA搞不定这个应用
他的是单线的,相当于是只有一个D+的USB口
要求生成的信号是稳定的,DMA不能保证稳定,微观上的稳定
lxyppc 发表于 2010-12-3 19:51
不错,如果你要求非常准确的时序,那么使用DMA对GPIO操作确实不能保证稳定输出。
对于这样的要求,我们是使用TIM的输出完成,根据输出时序事先计算出高低电平的时间,然后把计算出来的TIM数据存在RAM缓冲区,使用DMA不断更新TIM的定时参数。因为定时器的ARR和比较寄存器有影子寄存器,弥补了总线仲裁时间不易预估的不稳定因素,结果保证了稳定输出。我们的ST-LINK就是使用的这种方案。 |