在做一个项目,用STM32 的外部中断检测脉冲信号,在外部中断里,分别记录脉冲开始和结束时定时器(TIM3)的计数值,计算这两个计数值的差CntDiff,即得到脉冲的宽度。 这样测量在开始是可以的,测量结果也比较稳定。但当我加入USART3串口通信功能后,问题来了:如果频繁的进行串口数据收发,发现会对上述计数差值CntDiff有影响,在脉冲信号不变的情况下,通信越频繁,CntDiff的值有越大的趋势。 中断优先级配置情况是 外部中断: 抢先优先级=0, 副优先级=0, 用于检测脉冲信号 TIM2中断: 抢先优先级=1, 副优先级=0, 用于系统定时 USART3中断: 抢先优先级=2, 副优先级=0, 用于串口通信 TIM3: 不产生中断,仅使用其计数值。 请教各位,这可能是什么问题导致的?如何分析?谢谢!! |
STM32F107+LWIP---如何检查tcp通讯断开?并重新连接
有没有用过数字式mems麦克风的,想问下SPI通讯的问题
stm32f103 CAN通讯多帧发送问题?
STM32F107作为USB主机模拟串口通讯不成功(采用PL2303芯片)
STM32F103C8 LIN通讯例程
求助,丐版J-Link通讯不上
ethernet可以与ethercat通讯吗?
LIS3DH SPI 通讯问题
STM32F373 CAN通讯问题CAN_FLAG_LEC
请教高手看看,STM32F1的多机通讯,地址匹配唤醒问题
RE:STM32 串口通讯会对外部中断(或定时器)有影响???
回复:STM32 串口通讯会对外部中断(或定时器)有影响???
中断被打断,建议把TIM3的中断也开启。另外USART3中不要有太多的处理,只写接收和清除对应标志位代码就可以了。
继续请教一下,为什么要把TIM3中断也打开?
现在USART3中本来就没有多少处理,就是仅仅接收和发送数据....
RE:STM32 串口通讯会对外部中断(或定时器)有影响???
回复:STM32 串口通讯会对外部中断(或定时器)有影响???
TIM3打开,我建议用一个类似滴答时钟做处理。不要用寄存器本身的计数值,因为你串口中断处理的数据太多的时候,会丢掉TIM3的值。
可否具体一些,没理解。
滴答时钟你指的是SysTick时钟吗? 还有,用TIM3寄存器本身的计数值为什么会丢掉??
RE:STM32 串口通讯会对外部中断(或定时器)有影响???