|
if(TIM6->SR & 0X0001) { if(num_10ms==2) //读取各电机码盘测速值 { speed_1=TIM2->CNT; speed_2=TIM3->CNT; speed_3=TIM4->CNT; speed_4=TIM5->CNT; TIM2->CNT = 0; TIM3->CNT = 0; TIM4->CNT = 0; TIM5->CNT = 0; USART1_SendChar(BYTE1(speed_1)); USART1_SendChar(BYTE0(speed_1)); 程序是在定时器中断函数中读取计数器的值,然后把这个值通过串口发送给电脑。发送的值在150左右。 while(1) { { //Wave_handle(); delay_ms(60); USART1_SendChar(BYTE1(speed_1)); USART1_SendChar(BYTE0(speed_1)); } // LCD_Write_ASCII_String(0,0,"wor"); // Motor_Start(PWM_MAX1,PWM_MAX2,PWM_MAX3,PWM_MAX4); } 而把它改到main函数主循环中,通过串口将数据发送给电脑,发送的值就全变成0了,这到底是怎么回事啊?求指导。 |
|