做一个多路采样并与电脑通信的程序。 现在单独的都能够正常运行,采样和通讯的数据都是正确的, 使用了TIM2进行定时,在TIM2中断中进行AD的采样,AD使用DMA方式进行多路采样。而通讯的话,使用了USART1的中断,在USART1中断程序中进行数据的接收。 以上如果使用在一起的话就产生问题了,STM32接收到的数据比较混乱,怀疑是由于进入USART1中断处理的时候,又产生了定时器的中断,所以会使接收不正确。尝试着设置了一下NVIC中的中断优先级,但是尝试了几种0和1的组合,但是还是没有效果。 想问一下大家: 1。USART1的中断进入的话,是在接收到什么信号再进入的吗?我这里感觉就算没有接收到数据也老是进入中断。
2。在NVIC的中断的设置 NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2) 这个Group_2是指什么意思吗? 另外NVIC_IRQChannelPreemptionPriority NVIC_IRQChannelSubPriority 分别设置的是什么吗?
3。如果使用DMA方式的话,会不会和ADC的DMA相冲突吗? |