找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 1621|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

這個(gè)STM32單片機(jī)中斷接收函數(shù)應(yīng)該怎么解決?

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:621862 發(fā)表于 2020-9-10 10:02 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
我從串口屏接收數(shù)據(jù)然后在while(1)里面 switch(num_flag)
如果屏幕只是一個(gè)一個(gè)的返回?cái)?shù)據(jù) 例如 0x30   這樣倒沒問題,到了屏幕返回一連串?dāng)?shù)據(jù)的時(shí)候就出問題了, 現(xiàn)在屏幕返回一個(gè)0X45 和一串字符串,我想用0x45作為flag進(jìn)入CASE事件,字符串保存在buff里面,  可是字符串里面可能有其他數(shù)值與其他CASE 一樣,老是出錯(cuò),請(qǐng)問大佬們應(yīng)該怎么解決


void UART5_IRQHandler(void)
        {
                char i;
                                char Res;
    if(USART_GetITStatus(UART5, USART_IT_RXNE) != RESET)  
                {
                //USART_ClearITPendingBit(UART5, USART_IT_RXNE);
                                        buff5[counter5]=USART_ReceiveData(UART5);
                                        counter5++;
        
                                  Res=USART_ReceiveData(UART5);
                                        num_flag=Res;


                        }
                           
}
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:775776 發(fā)表于 2020-9-11 09:59 | 只看該作者
執(zhí)行一次指令 清一次 判斷首字母
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表