国产精品免费无遮挡无码永久视频-国产高潮视频在线观看-精品久久国产字幕高潮-国产精品99精品无码视亚

電子工程網

標題: stm32串口發送數據很多,求幫助! [打印本頁]

作者: 蕭條桑拓    時間: 2013-4-19 18:38
標題: stm32串口發送數據很多,求幫助!
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了,這到底是怎么回事啊?求指導。

作者: asean    時間: 2013-5-29 05:36
你的代碼中變量沒有注釋,不能完全看懂你的代碼,只能猜你的的代碼問題。根據你的描述,你將這段代碼從定時中斷服務程序改放到main函數主循環中,就出現這種情況,那可能是因為定時中斷服務程序修改了你這段代碼中的某個條件,如TIM6->SR ,或num_10ms。你改到main函數主循環后,因為這些條件不滿足,speed_1沒被修改,所以發出的數值就是默認值。




歡迎光臨 電子工程網 (http://m.4huy16.com/) Powered by Discuz! X3.4