欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: stm32單片機+esp8266 如何同時控制和發送數據? [打印本頁]

作者: 10661700    時間: 2019-8-25 16:09
標題: stm32單片機+esp8266 如何同時控制和發送數據?
如題,while ( 1 )
        {        
                //這是控制命令
                if(USART2_RX_STA&0x8000)
                {                                          
                        len=USART2_RX_STA&0x3fff;//得到此次接收到的數據長度
                        
                        //收到電腦發來的請求控制單片機
                        if(USART2_RX_BUF[len-1]==0x30){                        
                                
                        } else if(USART2_RX_BUF[len-1]==0x31){
                                LED2_ON;
                        }
                                
                        //把串口三接受到的數據傳給串口一
                        /*
                        for(t=0;t<len;t++)
                        {
                                 USART_SendData(USART1, USART2_RX_BUF[t]);         //向串口1發送數據
                                 while(USART_GetFlagStatus(USART1,USART_FLAG_TC)!=SET);//等待發送結束
                        }
                        */
                        USART2_RX_STA=0;
                }
               
               
                //這是數據上傳指令
                rtemp=(int)DS18B20_Get_Temp()-255;
                sprintf(str,"%d\r\n",rtemp);
                ESP8266_SendString ( DISABLE, str, 10, Multiple_ID_0 );
                delay_ms(1000);               
        }        


請問為什么兩者不能同時工作,求解!


作者: 10661700    時間: 2019-8-25 16:14
單獨工作可以,但是兩段代碼放一起,只能數據上傳,沒辦法控制,求救!
作者: nnhong_qi    時間: 2019-8-25 16:48
不是USART1嗎,又變USAR2
作者: suncat0504    時間: 2019-8-25 21:55
同時工作,對于單核處理器是不可能的。只能考慮分時,或者中斷系統(通過優先級方式控制)。如果數據傳遞是批量的話,可以考慮dma方式來處理,當數據傳遞完成后,發出中斷信息。這樣可以盡可能地避免數據丟失,當然前提是這個處理器提供DMA傳遞和DMA中斷。
作者: 鵬博士PBs    時間: 2019-8-26 10:20
可以采用中斷優先級的方式




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1