找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

帖子
查看: 2262|回復(fù): 7
打印 上一主題 下一主題
收起左側(cè)

關(guān)于51單片機(jī)串口與PC端的通信理解

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:658684 發(fā)表于 2021-1-11 22:03 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
想問問大家有沒有做過51通過串口與PC端的通信鴨?串口中斷是不是可以理解成定時(shí)中斷差不多啊?可是定時(shí)器中斷到一定時(shí)間就觸發(fā)中斷,但是串口中斷怎么才能觸發(fā),我看了好像說什么接收或發(fā)送一定的數(shù)據(jù)格式就能觸發(fā)中斷,但是數(shù)據(jù)已經(jīng)接收或發(fā)送了,觸發(fā)中斷還有什么意義么?
我太菜了,求大佬幫幫孩紙,應(yīng)該怎么去考慮串口,編程應(yīng)用的時(shí)候要注意哪些?(我也不知道我的問題描述清楚了沒。。。求大佬輕噴~小弟先謝過大家了)

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

使用道具 舉報(bào)

沙發(fā)
ID:213173 發(fā)表于 2021-1-12 06:40 | 只看該作者
51單片機(jī)在發(fā)送完成或接收結(jié)束一個(gè)字節(jié)數(shù)據(jù)后都會(huì)產(chǎn)生中斷請求。要不要響應(yīng)中斷請求并執(zhí)行中斷任務(wù)完全由程序編寫者選擇。以接收為例,實(shí)用中的串口通訊內(nèi)容通常是若干字節(jié)(依據(jù)通訊協(xié)議)數(shù)據(jù),下位機(jī)接收到一個(gè)字節(jié)數(shù)據(jù)暫存在SBUF寄存器中并自動(dòng)置中斷請求RI為1。CPU響應(yīng)中斷請求執(zhí)行串口任務(wù),讀取SBUF寄存器中數(shù)據(jù)另存,軟件清0中斷請求標(biāo)志RI。結(jié)束中斷任務(wù),等待下一個(gè)中斷發(fā)生。當(dāng)若干字節(jié)(依據(jù)通訊協(xié)議)數(shù)據(jù)全部接收完畢就對收到的數(shù)據(jù)串進(jìn)行驗(yàn)證和解析,驗(yàn)證錯(cuò)誤向上位機(jī)發(fā)送錯(cuò)誤消息,要求重發(fā),驗(yàn)證正確就執(zhí)行相應(yīng)任務(wù)。

評(píng)分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

板凳
ID:775776 發(fā)表于 2021-1-12 08:03 | 只看該作者
簡單理解就是一個(gè)外部中斷,中斷信息一個(gè)字節(jié)。

評(píng)分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

地板
ID:752974 發(fā)表于 2021-1-12 09:04 | 只看該作者
沙發(fā)解釋的很明白了。單片機(jī)串口收發(fā)數(shù)據(jù)有兩種方式:查詢和中斷。查詢工作方式是:CPU時(shí)刻檢查串口狀態(tài),收到數(shù)據(jù)時(shí),收到數(shù)據(jù)時(shí)及時(shí)的轉(zhuǎn)存,不然收到下一個(gè)數(shù)據(jù)時(shí)當(dāng)前的數(shù)據(jù)就被覆蓋了。這種工作方式要占用大量的CPU時(shí)間,工作效率低。中斷工作方式是:CPU做好串口及相關(guān)中斷的初始化,CPU就不用時(shí)刻關(guān)注串口了,當(dāng)收到數(shù)據(jù)時(shí),硬件觸發(fā)中斷,在中斷服務(wù)程序中及時(shí)的接收數(shù)據(jù)。發(fā)送數(shù)據(jù)亦如此。

評(píng)分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

5#
ID:658684 發(fā)表于 2021-1-12 10:06 | 只看該作者
munuc_w 發(fā)表于 2021-1-12 09:04
沙發(fā)解釋的很明白了。單片機(jī)串口收發(fā)數(shù)據(jù)有兩種方式:查詢和中斷。查詢工作方式是:CPU時(shí)刻檢查串口狀態(tài), ...

謝謝解答,我可不可以理解成單片機(jī)一直在工作,串口初始化之后,串口接收數(shù)據(jù)及發(fā)送數(shù)據(jù)都是由硬件自動(dòng)完成的,它接收/發(fā)送完一定數(shù)據(jù)格式的數(shù)據(jù)后,產(chǎn)生串口中斷告訴單片機(jī),我數(shù)據(jù)接收了,你要做啥處理就做啥處理?
回復(fù)

使用道具 舉報(bào)

6#
ID:752974 發(fā)表于 2021-1-12 11:16 | 只看該作者
學(xué)習(xí)習(xí)鴨 發(fā)表于 2021-1-12 10:06
謝謝解答,我可不可以理解成單片機(jī)一直在工作,串口初始化之后,串口接收數(shù)據(jù)及發(fā)送數(shù)據(jù)都是由硬件自動(dòng)完 ...

對頭!
回復(fù)

使用道具 舉報(bào)

7#
ID:390416 發(fā)表于 2021-1-12 11:55 | 只看該作者
建議你觀看《人人學(xué)會(huì)單片機(jī)》 第21課開始。認(rèn)認(rèn)真真的好好學(xué)學(xué)。
回復(fù)

使用道具 舉報(bào)

8#
ID:658684 發(fā)表于 2021-1-13 16:52 | 只看該作者

好的好的,十分感謝,謝謝謝謝
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

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