SR & 0X0001) { if(num_10ms==2) //讀取各電機碼盤測速值 ... stm32串口發(fā)送數(shù)據(jù)很多,求幫助! " />

色偷偷偷久久伊人大杳蕉,色爽交视频免费观看,欧美扒开腿做爽爽爽a片,欧美孕交alscan巨交xxx,日日碰狠狠躁久久躁蜜桃

x
x
查看: 5402|回復: 1
打印 上一主題 下一主題

[提問] stm32串口發(fā)送數(shù)據(jù)很多,求幫助!

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2013-4-19 18:38:21 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
關(guān)鍵詞: stm32 , 計數(shù)器 , 串口
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));

   程序是在定時器中斷函數(shù)中讀取計數(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了,這到底是怎么回事啊?求指導。
沙發(fā)
發(fā)表于 2013-5-29 05:36:51 | 只看該作者
你的代碼中變量沒有注釋,不能完全看懂你的代碼,只能猜你的的代碼問題。根據(jù)你的描述,你將這段代碼從定時中斷服務(wù)程序改放到main函數(shù)主循環(huán)中,就出現(xiàn)這種情況,那可能是因為定時中斷服務(wù)程序修改了你這段代碼中的某個條件,如TIM6->SR ,或num_10ms。你改到main函數(shù)主循環(huán)后,因為這些條件不滿足,speed_1沒被修改,所以發(fā)出的數(shù)值就是默認值。
您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表