recive_flag是在工程下其他文件里面定義的一個全局變量,可以在recive_flag這個變量名處右鍵->go to definition就可以看到是在哪里定義的,通過Ctrl+f查找功能可以找到這個變量是在哪里被調用,進行了什么操作,然后再看它什么時候會符合if條件(=1),就可以知道這具體是在干嘛的了。從變量名上能大概推知這是個接收標志位,具體還要結合程序。
至于那個return,照理說這樣編譯會報錯,因為函數返回值類型是void,即沒有返回值。如果不談語法錯誤的問題,return在這里用途是結束循環,立即跳出這個函數,回到調用這個函數的地方。即延時直接結束。結合來看的話,估計是單片機接收某個信息需要一段時間,因此用這個延時函數來使單片機等待接收完成,接收完成之后標志位置1,延時結束。