不知道为什么突然想对比起来,TI M4最有代表是Tiva系列,虽然可能用得少,但是最近用到一个CC3220然后又想起他了.
STM32和TI M4一样都有两个看门狗,STM32叫IWDG,WWDG,TI就叫WDG0,WDG1,实际上,IWDG就是WDG1,其不受系统时钟影响,WWDG就是WDG0,受到系统时钟影响.
为了公平对比,我们假设总线时钟都是100MHz,而STM32 WWDG时钟,TI WDG0时钟也为100MHz输入.TI的WDG是不带分频的,因此通过读取WDG的数值能比较准确地读取到时间.(实际上TI有64位定时器,统计个海枯石烂的ns精度都行.),STM32只能为4096,8192,16384,32768分频.从精度上来说,TI的WDG统计最小单位10ns,而STM32的统计最小单位是40.96us,差了不只是数量级.从时长来说,STM32是7位计时器,最高为127,使用最大分频的最长时间为41.6ms.而TI的WDG0统计最长时间是42.94秒.无论从精度还是长度都差的数量级.
继续比对下STM32的IWDG,首先TI得IWDG用的是PIOSC,一般为16MHz,而STM32用的是40kHz不稳定时钟,我们假设是40kHz.TI的依然不支持分频,STM32的支持4,8,16,32,256分频,TI的计算精度为62.5ns,而STM32的最高统计精度为100us,STM32的为12位计数器,TI是32位计数器,STM32按照最大分频来说,那么为104.832秒,TI的没有分频概念,最大为268秒.
总结出来,TI的WDG完杀了STM32的,精度和定时长度都完杀了.
怎么没逗号
@ARM 逗号?????,,,,,