找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機串口中斷函數(shù),函數(shù)體空著也可以實現(xiàn)發(fā)送接收功能嗎?

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:299910 發(fā)表于 2023-6-20 09:25 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
功能:51單片機的串口1中斷處理函數(shù)        
**************************************************************************/
void UART1(void) interrupt 4  // 串行口1中斷函數(shù)  
{ ; }

這樣寫的作用是什么?運行結(jié)果會怎么樣?

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

使用道具 舉報

沙發(fā)
ID:404160 發(fā)表于 2023-6-20 10:40 | 只看該作者
這樣寫是“框架”的意思。雖可以中斷,但SBUF里的數(shù)據(jù)沒有轉(zhuǎn)存到你需要的地方
回復(fù)

使用道具 舉報

板凳
ID:1080935 發(fā)表于 2023-6-20 15:07 | 只看該作者
可以,但每次收發(fā)完一個字節(jié)都會到中斷里來一下,如果不及時處理會一直進中斷,甚至出不來,簡單的測試可以,不建議這么做。不用中斷可以把中斷關(guān)掉,這個函數(shù)存在也沒問題的。
回復(fù)

使用道具 舉報

地板
ID:624769 發(fā)表于 2023-6-20 18:32 | 只看該作者
作用是占位。

會在  0023H  處寫入一個字節(jié):  32H
回復(fù)

使用道具 舉報

5#
ID:213173 發(fā)表于 2023-6-20 21:42 | 只看該作者
估計是預(yù)留,如果開了串口中斷而沒有中斷函數(shù),程序會出錯。最好注釋掉,有用到時再開。
回復(fù)

使用道具 舉報

6#
ID:1085253 發(fā)表于 2023-6-20 21:51 | 只看該作者
不能,會卡在這里,沒有中斷返回語句
回復(fù)

使用道具 舉報

7#
ID:401564 發(fā)表于 2023-6-20 22:58 | 只看該作者
沒試過會怎么,也懶得去試,你自己可以試一下
個人認為為卡死
如果中斷已經(jīng)開啟了,中斷標志位是必須要軟件清除的,這是8051的基礎(chǔ)知識
回復(fù)

使用道具 舉報

8#
ID:277550 發(fā)表于 2023-6-21 00:09 | 只看該作者
中斷只是處理的一個方法,比較方便、也比較可靠。如果單片機足夠快,可以用查詢的方法處理的。
回復(fù)

使用道具 舉報

9#
ID:1034262 發(fā)表于 2023-6-21 09:49 | 只看該作者
經(jīng)?吹接腥嘶亍耙粯钦嘉弧保褪沁@個意思。
回復(fù)

使用道具 舉報

10#
ID:299910 發(fā)表于 2023-6-21 13:32 | 只看該作者
感謝各位大神,向各位學(xué)習(xí)了。
回復(fù)

使用道具 舉報

11#
ID:1085350 發(fā)表于 2023-6-21 14:07 | 只看該作者
只是中斷,沒有實際數(shù)據(jù)
回復(fù)

使用道具 舉報

12#
ID:1084404 發(fā)表于 2023-6-21 17:17 | 只看該作者
串口中斷處理函數(shù)是一種特殊的函數(shù),它在串口接收和發(fā)送數(shù)據(jù)時自動調(diào)用。在使用串口進行通信時,我們需要編寫中斷處理函數(shù)來處理接收和發(fā)送數(shù)據(jù)。
在接收數(shù)據(jù)時,中斷處理函數(shù)首先判斷接收緩沖區(qū)是否有數(shù)據(jù)可讀。如果有數(shù)據(jù)可讀,則將數(shù)據(jù)從緩沖區(qū)中取出并進行處理。處理完后,如果緩沖區(qū)還有數(shù)據(jù)可讀,則繼續(xù)處理,直到緩沖區(qū)中的數(shù)據(jù)全部處理完畢。
在發(fā)送數(shù)據(jù)時,中斷處理函數(shù)首先判斷發(fā)送緩沖區(qū)是否有空閑空間可用。如果有空閑空間可用,則將待發(fā)送的數(shù)據(jù)寫入緩沖區(qū)中,并將發(fā)送指針加1。如果發(fā)送緩沖區(qū)已滿,則等待下一次中斷處理函數(shù)的調(diào)用。
第 1 頁
需要注意的是,在編寫中斷處理函數(shù)時,我們需要考慮到數(shù)據(jù)的穩(wěn)定性和可靠性。因為數(shù)據(jù)是通過串口進行通信的,如果數(shù)據(jù)傳輸出現(xiàn)錯誤或丟失,將會對系統(tǒng)產(chǎn)生嚴重影響。因此,我們需要合理地處理數(shù)據(jù),保證數(shù)據(jù)的傳輸穩(wěn)定和可靠。
總之,串口中斷處理函數(shù)是串口通信中不可或缺的一部分。通過編寫合理的中斷處理函數(shù),我們可以有效地處理串口接收和發(fā)送數(shù)據(jù),保證系統(tǒng)的穩(wěn)定性和可靠性。
回復(fù)

使用道具 舉報

13#
ID:299910 發(fā)表于 2023-7-13 10:55 | 只看該作者
2728999742 發(fā)表于 2023-6-21 17:17
串口中斷處理函數(shù)是一種特殊的函數(shù),它在串口接收和發(fā)送數(shù)據(jù)時自動調(diào)用。在使用串口進行通信時,我們需要編 ...

謝謝!謝謝!的確想您說的那樣,中斷函數(shù)內(nèi)的數(shù)據(jù)處理部分沒寫好,數(shù)據(jù)會丟失或者說根本沒有發(fā)送成功,我想連續(xù)發(fā)送24位數(shù)據(jù),可返回電腦的總是不一樣。
回復(fù)

使用道具 舉報

14#
ID:299910 發(fā)表于 2023-7-13 10:57 | 只看該作者
188610329 發(fā)表于 2023-6-20 18:32
作用是占位。

會在  0023H  處寫入一個字節(jié):  32H

為什么是32H?
回復(fù)

使用道具 舉報

15#
ID:57657 發(fā)表于 2023-7-13 12:12 | 只看該作者
里面最好加一個 _nop_(); 否則編譯器可能會優(yōu)化掉。
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

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

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

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