[發明專利]微處理器間I/O端口通信方法有效
| 申請號: | 201910136683.6 | 申請日: | 2019-02-25 |
| 公開(公告)號: | CN109783431B | 公開(公告)日: | 2023-02-07 |
| 發明(設計)人: | 李佳;陳琰;趙翔;倪隆;張為;曲曉青;朱兆鷹 | 申請(專利權)人: | 東莞蕾納智能科技有限公司 |
| 主分類號: | G06F15/17 | 分類號: | G06F15/17 |
| 代理公司: | 無錫市大為專利商標事務所(普通合伙) 32104 | 代理人: | 曹祖良;屠志力 |
| 地址: | 523808 廣東省東莞市松山湖高新技術*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 微處理器 端口 通信 方法 | ||
本發明提供一種微處理器間I/O端口通信方法,包括:發端MCU和收端MCU均使用定時器連續中斷;發端MCU定時器和收端MCU定時器設置相同速率的定時中斷;發端MCU的數據發送過程包括:將數據送到發送區,等待發送;檢測發送區是否有數據,如有,則由發端MCU定時器的定時中斷過程控制數據發送;每n個定時中斷的時間相應只發送一位數據至發端MCU的I/O端口;n≥3;收端MCU的數據接收過程包括:由收端MCU定時器的定時中斷過程控制數據接收:每次定時中斷檢測收端MCU的I/O端口,當檢測到起始位,收端MCU定時器的定時中斷過程控制接收I/O端口上的每一位數據;連續接收各數據位,并合成數據,然后送到接收區。本發明可節省MCU通信資源。
技術領域
本發明涉及微處理器與微處理器之間的通信方法,尤其是一種微處理器間I/O端口通信方法。
背景技術
單片機與單片機之間的通信,一般使用片上的通信資源,比如片上的串行口UART,I2C等,但是,經常這些通信資源被其他設備使用,而片上的通用I/O端口經常會有多余。
發明內容
本發明的目的在于克服現有技術中存在的不足,提供一種微處理器間I/O端口通信方法,能夠實現微處理器之間基于I/O端口的通信。本發明采用的技術方案是:
一種微處理器間I/O端口通信方法,包括:
發端MCU和收端MCU均使用定時器連續中斷,數據發送和接收過程都在定時器中斷過程中完成;發端MCU定時器和收端MCU定時器設置相同速率的定時中斷;
發端MCU的數據發送過程包括:
1)將數據送到發送區,等待發送;
2)檢測發送區是否有數據,如有,則由發端MCU定時器的定時中斷過程控制數據發送;每n個定時中斷的時間相應只發送一位數據至發端MCU的I/O端口,先發送起始位,然后依次發送載荷數據的每一位,最后發送停止位;n≥3;
收端MCU的數據接收過程包括:
1)由收端MCU定時器的定時中斷過程控制數據接收:每次定時中斷檢測收端MCU的I/O端口,當檢測到起始位,收端MCU定時器的定時中斷過程控制接收I/O端口上的每一位數據;
2)連續接收各數據位,并合成數據,然后送到接收區。
更優地,收端MCU在第一次檢測到起始位后,下一次定時中斷再檢測并確認起始位后,才開始接收后續的數據。
進一步地,發端MCU定時器的定時中斷過程控制數據發送,具體包括:
步驟S1,發端MCU的每一次定時中斷,發送計數器累加1;
步驟S2,判斷數據發送是否結束,若是則進行步驟S3,若否則進行步驟S6;
步驟S3,檢查發送區是否有數據,若有則進行步驟S4,若否則進行步驟S7;
步驟S4,發送計數器置0,重新計數;
步驟S5,發送起始位,轉步驟S7;
步驟S6,按發送計數器的計數發送數據下一位;每n個定時中斷的時間相應發送一位數據;
步驟S7,一次定時中斷完成。
進一步地,收端MCU定時器的定時中斷過程控制數據接收,具體包括:
步驟R1,收端MCU的每一次定時中斷,接收計數器累加1;
步驟R2,判斷一幀數據是否接收結束,若是則進行步驟R3,若否則進行步驟R6;
步驟R3,判斷是否檢測到起始位,若是則進行步驟R4,若否則進行步驟R11;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于東莞蕾納智能科技有限公司,未經東莞蕾納智能科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910136683.6/2.html,轉載請聲明來源鉆瓜專利網。





