小弟要做一个测量PWM方波周期的程序,用的测周法,用的是TM4C123芯片的两个定时器,一个用来捕获上升沿,可以记下两个上升沿各自的时间,另一个定时器用来跟前一个同样的周期循环运行,记下两个上升沿之间定时器溢出的次数。但在跑程序的过程中总会出现问题就是,由于两个定时器不同步(通过CCS观察两个定时器寄存器),会出现小概率的少计一次或多计一次溢出。 我用了TimerSynchronize()这个库函数也不行,我用ccs的调试观测到的寄存器数值是同步读出来的吗?如果是那就真的是我没有使它们同步了。还有大侠们知道怎么同步两个定时器吗?
此帖出自
小平头技术问答
直接用计时捕获模式一个定时器就能搞定,做1Hz到1MHz之间完全没有问题
因为我怕进入中断处理函数之后,另外一种中断又发生。而用两个定时器可以有两个中断处理函数(抢占优先级一样)保证不会忽略任何一种中断。而且单片机数据手册上给出的方案好像就是用两个定时器,我就照做了。大侠以前做过这个吗?能让我看看你的中断处理函数吗?
一周热门 更多>