第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

STM32單片機(jī)如何處理QT上位機(jī)串口中發(fā)過來的數(shù)據(jù)?

STM32單片機(jī)如何處理QT上位機(jī)串口中發(fā)過來的數(shù)據(jù)?

STM32單片機(jī)如何處理QT上位機(jī)串口中發(fā)過來的數(shù)據(jù)?
查看完整描述

3 回答

?
倚天杖

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超3個(gè)贊

單片機(jī)有串口中斷。串口每收到1byte數(shù)據(jù)就會(huì)觸發(fā)1次接收中斷。中斷一般像下面這面,你可以根據(jù)自己的需求改。我的做法是中段里只管接收數(shù)據(jù),然后定時(shí)器中監(jiān)測(cè)一定時(shí)間內(nèi)沒有收到數(shù)據(jù),認(rèn)為數(shù)據(jù)接收完畢,然后置位接受完成標(biāo)志。在主函數(shù)中查詢這個(gè)標(biāo)志,進(jìn)行數(shù)據(jù)處理。

123456789101112131415161718192021222324void USART1_IRQHandler (void)//串口中斷{    u8 dat,flag = 0;    if(USART_GetFlagStatus(USART1, USART_FLAG_ORE) != RESET)    {        USART_ClearITPendingBit(USART1,USART_IT_ORE);         dat = USART_ReceiveData(USART1);        flag = 1;    }    if(USART_GetITStatus(USART1,USART_IT_RXNE)!= RESET)   //Receive Data register not empty interrupt.    {        USART_ClearITPendingBit(USART1,USART_IT_RXNE);        dat = USART_ReceiveData(USART1);        flag = 1;                }    if(flag == 1)    {        Uart1RecvOver.recvOver = 0;        if(PushInQueue_Q(&uart1RecvQueue, dat))            Uart1RecvOver.recvTimeCnt = 0;        else            Uart1RecvOver.recvTimeCnt = USART_RECV_END_TIME;     }}


查看完整回答
反對(duì) 回復(fù) 2019-04-15
?
jeck貓

TA貢獻(xiàn)1909條經(jīng)驗(yàn) 獲得超7個(gè)贊

單片機(jī)接收處理串口的數(shù)據(jù)的過程就是配置好波特率、位寬、校驗(yàn)位等,收到數(shù)據(jù) 后可以引起中斷,也可以查詢標(biāo)志位,然后進(jìn)行相應(yīng)的處理。
1) 串口時(shí)鐘使能,GPIO 時(shí)鐘使能。
2) 設(shè)置引腳復(fù)用器映射:調(diào)用 GPIO_PinAFConfig 函數(shù)。
3) GPIO 初始化設(shè)置:要設(shè)置模式為復(fù)用功能。
4) 串口參數(shù)初始化:設(shè)置波特率,字長,奇偶校驗(yàn)等參數(shù)。
5) 開啟中斷并且初始化 NVIC,使能中斷(如果需要開啟中斷才需要這個(gè)步驟)。
6) 使能串口。
7) 編寫中斷處理函數(shù):函數(shù)名格式為 USARTxIRQHandler(x 對(duì)應(yīng)串口號(hào))



查看完整回答
反對(duì) 回復(fù) 2019-04-15
?
慕尼黑8549860

TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超11個(gè)贊

串口通信是有協(xié)議的,所有操作都得按照協(xié)議來,和你用什么編譯器/編輯器或者框架無關(guān),如何讀取數(shù)據(jù)要看你的單片機(jī)硬件了:
有串口->直接讀取寄存器的數(shù)據(jù)就行了,每次一個(gè)BYTE,一般該寄存器都命名為SBUF
無串口->需使用軟件模擬串口通信。

查看完整回答
反對(duì) 回復(fù) 2019-04-15
  • 3 回答
  • 0 關(guān)注
  • 1728 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)