本帖最后由 wping1234 于 2013-7-29 21:50 编辑
你程序里几个数值的类型比较乱。
1楼里面,你将TIM3->CNT,赋值给一个double的time;
4楼里面,你将一个double,赋值给一个u32;
LCD-shownumber里面也是的。
不知道会不会造成这个问题;
在C51里面会出问题的;你还是强制转换一下,看能否好一些;
另外,TIM3->CNT=0这一句能否起作用?
我看我们的EK300超声测距仪(mwtech.taobao.com)的软件设计中,用的是TIM2->EGR |= TIM_EGR_UG;,没直接给CNT赋值。
//set TIM2: 10Khz, 0.1ms,
RCC->APB1ENR |=RCC_APB1ENR_TIM2EN;
TIM2->ARR=65535;
TIM2->PSC=199;
//TIM2->CNT=0;
TIM2->EGR |= TIM_EGR_UG;
UT_DELAY();
UT_DELAY();
TIM2->CR1 |=TIM_CR1_CEN;
你也试一下tim3->EGR的UG直接置位。
|