|
if(TIM6->SR & 0X0001)
{
if(num_10ms==2) //讀取各電機(jī)碼盤測速值
{
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));
程序是在定時器中斷函數(shù)中讀取計(jì)數(shù)器的值,然后把這個值通過串口發(fā)送給電腦。發(fā)送的值在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函數(shù)主循環(huán)中,通過串口將數(shù)據(jù)發(fā)送給電腦,發(fā)送的值就全變成0了,這到底是怎么回事啊?求指導(dǎo)。
|
|