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

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 1417|回復(fù): 3
收起左側(cè)

C語(yǔ)言程序里面可以用多個(gè)while(1)循環(huán)等待接收命令應(yīng)答嗎?

[復(fù)制鏈接]
ID:630212 發(fā)表于 2023-6-4 17:27 | 顯示全部樓層 |閱讀模式
問(wèn)下大家,謝謝
如果接收應(yīng)答成功break跳出while(1)循環(huán),如果接收失敗則再次發(fā)送命令
while.png


回復(fù)

使用道具 舉報(bào)

ID:883242 發(fā)表于 2023-6-4 21:09 | 顯示全部樓層
這個(gè)問(wèn)題看你項(xiàng)目需求,就有一個(gè)應(yīng)答任務(wù),接收不完成就不能做下面的事情,當(dāng)然可以用while(1)阻塞。如果等接收的時(shí)候還要干別的事就不能這么寫(xiě)了。
回復(fù)

使用道具 舉報(bào)

ID:123289 發(fā)表于 2023-6-5 11:02 | 顯示全部樓層
這樣的邏輯,一但對(duì)方意外,也即你收不到正確的東東,就死等,尤如死機(jī)一樣。
回復(fù)

使用道具 舉報(bào)

ID:612392 發(fā)表于 2023-6-5 11:17 | 顯示全部樓層
建議用1個(gè)bit的標(biāo)志位flag,程序?qū)懗蓋hile(flag),然后這個(gè)flag在中斷里進(jìn)行處理,并且加上等待時(shí)間,超時(shí)則通過(guò)操作flag來(lái)退出while,否則 很容易死機(jī),你還找不到原因。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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