摘要: 1、DMA的中断标志需要软件手动清除,即使你启用了中断,也不会硬件清除的,可以:DMA_ClearITPendingBit(DMA_IT_HT);//清楚传输过半中断标志DMA_ClearITPendingBit(DMA_IT_TC);2、觉得的这个传输过半中断很好用,可实现类似双缓存功能,即把内存区设置为要传输的字节数(例如串口传输)的两倍,DMA填满一半了,启用(串口)传输,DMA完成了,再传DMA内存区的后一半。 阅读全文
posted @ 2012-09-13 16:58 果壳中的宇宙 阅读(916) 评论(2) 推荐(1) 编辑
摘要: 由于要采集电压、电流以计算功率、阻抗等信息,STM32的同步规则模式很适合于这种情景。使用时有几点需要注意的:1、选择正确的模式:ADC_Mode_RegSimult,即DUALMOD[3:0] = 0110,ADC2在双模式中,这些位为保留位2、开启ADC的DMA,在双ADC模式里,为了在主数据寄存器上读取从转换数据,必须使能DMA位,即使不使用DMA传输规则通道数据。只有ADC1和ADC3能产生DMA请求。所以只需设置ADC1的DMA:ADC_DMACmd(ADC1, ENABLE);3、ADC2的转换数据存在ADC1_DR的高半字;4、不要在2个ADC上转换相同的通道((两个ADC在同. 阅读全文
posted @ 2012-09-13 16:12 果壳中的宇宙 阅读(6820) 评论(1) 推荐(0) 编辑