Freescale的KE06的手册中,讲到PWT中脉宽测量值的缓存机制,目的是保证在读取时下一个脉宽测量值不丢失。
疑问:
1. 这个机制是不是在“cpu读脉宽测量(在buffer中)值且准备清除UART_R1[PWTRDY]标志时,恰好下一个脉宽测量值正好也更新了” 这种特殊情况下体现它的作用,该机制目的就是避免新更新的脉宽值丢失。 这样理解对吗?
2. 手册中说,“该机制通过MCU复位而自动重启(UART_R1 [PWTSR]位进制软件复位或通过给UART_R1 [PWTEN] 位置0)实现”,这是什么意思? 是不是说当1中描述的特殊情况发生时,单片机内部硬件会自动使相关状态复位 还是 需要我们用户写程序去给UART_R1 [PWTSR]、UART_R1 [PWTEN]位写0复位?
3. 如果较长时间不读buffer的值或第3个、第4个等脉宽的值来的太快,是不是第2个的脉宽值在此种机制下也无法保证不丢失?
请权威大神指点!结合上述3问题,帮我把这个脉宽值缓存机制的过程理清一下。(看手册,总感觉过程描述的很零散)
拜谢!!! |