System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本申請涉及通信,特別是涉及一種spi通信方法、裝置、計算機設備、計算機可讀存儲介質和計算機程序產品。
技術介紹
1、在精密自動化設備中常常用到絕對式編碼器,用于測量不同位置的姿態信息。同步串行接口(synchronous?serial?interface,簡稱ssi)作為高精度絕對式編碼器常用的接口方式,可實現高精度、高實時性的角度輸出,同時具有較強的抗干擾性,被廣泛應用。一般采用微控制器(microcontroller?unit,mcu)的串行外設接口(serial?peripheralinterface,spi)接收ssi類型編碼器。
2、傳統技術中,通過配置微控制器和多路復用器初始化,將定時器中斷,控制(input/output,io)輸入/輸出發送片選信號,并判斷微控制器spi的(direct?memoryaccess,dma)直接內存訪問接收模式是否接收完成標志位,根據ssi接口協議延時控制io發送片選信號,實現對ssi接口編碼器數據的接收。
3、然而,上述方法在使用spi的特性功能時,每次都需要重新進行初始化,操作重復度高,通信效率低下。
技術實現思路
1、基于此,有必要針對上述技術問題,提供一種能夠在使用spi的特性功能時,顯著降低初始化的次數,簡化操作步驟,提高通信效率的spi通信方法、裝置、計算機設備、計算機可讀存儲介質和計算機程序產品。
2、第一方面,本申請提供了一種spi通信方法,應用于包含多個串行外設接口的通信電路中,所述
3、對應用程序編程接口的傳輸需求進行解析,得到針對串行外設接口的配置要求,其中,所述傳輸需求包括:傳輸模式,幀類型,工作模式中的任一種需求,任意兩種或者兩種以上需求的組合;
4、根據所述配置要求,查找各個串行外設接口,直到找到符合所述配置要求的目標串行外設接口;
5、將所述應用程序編程接口切換至所述目標串行外設接口,并建立通信。
6、在其中一個實施例中,所述對應用程序編程接口的傳輸需求進行解析,得到針對串行外設接口的配置要求,包括:
7、當所述應用程序編程接口的傳輸需求中包含傳輸模式時,對所述傳輸模式進行解析,確定串行外設接口關于傳輸模式的配置要求,其中,關于傳輸模式的配置要求包括:半雙工發送,半雙工接收,全雙工發送和接收中的任一種。
8、在其中一個實施例中,所述對應用程序編程接口的傳輸需求進行解析,得到針對串行外設接口的配置要求,包括:
9、當所述應用程序編程接口的傳輸需求中包含幀類型時,對所述幀類型進行解析,確定串行外設接口關于幀類型的配置要求,其中,所述關于幀類型的配置要求包括:單線,或者雙線;
10、當所述應用程序編程接口的傳輸需求中包含工作模式時,對所述工作模式進行解析,確定串行外設接口關于工作模式的配置要求,其中,所述關于工作模式的配置要求包括:主機,或者從機。
11、在其中一個實施例中,根據所述配置要求,查找各個串行外設接口,直到找到符合所述配置要求的目標串行外設接口,包括:
12、遍歷各個串行外設接口,并獲取各個串行外設接口的配置參數;其中,各個串行外設接口的配置參數已經在初始化時進行預先設置;
13、將各個串行外設接口的配置參數與所述配置要求進行一一比對,直到找到符合所述配置要求的串行外設接口,將符合所述配置要求的串行外設接口作為目標串行外設接口。
14、在其中一個實施例中,在對應用程序編程接口的傳輸需求進行解析,得到針對串行外設接口的配置要求之前,所述方法還包括:
15、對通信電路中的時鐘、通用輸入/輸出接口,以及用于切換串行外設接口的選擇器進行初始化;
16、對各個串行外設接口進行初始化,確定每一個串行外設接口的配置參數,其中,所述配置參數包括:傳輸模式,幀類型,工作模式中的任一種參數,任意兩種或者兩種以上參數的組合。
17、在其中一個實施例中,在將所述應用程序編程接口切換至所述目標串行外設接口,并建立通信之后,所述方法還包括:
18、根據預設的周期判斷當前建立的通信是否結束;
19、若當前建立的通信已經結束,則對下一個應用程序編程接口的傳輸需求進行解析,得到針對串行外設接口的配置要求,并根據所述配置要求,查找各個串行外設接口,直到找到符合所述配置要求的目標串行外設接口;將所述應用程序編程接口切換至所述目標串行外設接口以建立通信;
20、若當前建立的通信未結束,則繼續保持當前建立的通信。
21、第二方面,本申請還提供了一種spi通信裝置,應用于包含多個串行外設接口的通信電路中,所述裝置包括:
22、解析模塊,用于對應用程序編程接口的傳輸需求進行解析,得到針對串行外設接口的配置要求,其中,所述傳輸需求包括:傳輸模式,幀類型,工作模式中的任一種需求,任意兩種或者兩種以上需求的組合;
23、查找模塊,用于根據所述配置要求,查找各個串行外設接口,直到找到符合所述配置要求的目標串行外設接口;
24、切換和通信模塊,用于將所述應用程序編程接口切換至所述目標串行外設接口,并建立通信。
25、第三方面,本申請還提供了一種計算機設備,包括存儲器和處理器,所述存儲器存儲有計算機程序,所述處理器執行所述計算機程序時實現以下步驟:
26、對應用程序編程接口的傳輸需求進行解析,得到針對串行外設接口的配置要求,其中,所述傳輸需求包括:傳輸模式,幀類型,工作模式中的任一種需求,任意兩種或者兩種以上需求的組合;
27、根據所述配置要求,查找各個串行外設接口,直到找到符合所述配置要求的目標串行外設接口;
28、將所述應用程序編程接口切換至所述目標串行外設接口,并建立通信。
29、第四方面,本申請還提供了一種計算機可讀存儲介質,其上存儲有計算機程序,所述計算機程序被處理器執行時實現以下步驟:
30、對應用程序編程接口的傳輸需求進行解析,得到針對串行外設接口的配置要求,其中,所述傳輸需求包括:傳輸模式,幀類型,工作模式中的任一種需求,任意兩種或者兩種以上需求的組合;
31、根據所述配置要求,查找各個串行外設接口,直到找到符合所述配置要求的目標串行外設接口;
32、將所述應用程序編程接口切換至所述目標串行外設接口,并建立通信。
33、第五方面,本申請還提供了一種計算機程序產品,包括計算機程序,該計算機程序被處理器執行時實現以下步驟:
34、對應用程序編程接口的傳輸需求進行解析,得到針對串行外設接口的配置要求,其中,所述傳輸需求包括:傳輸模式,幀類型,工作模式中的任一種需求,任意兩種或者兩種以上需求的組合;
35、根據所述配置要求,查找各個串行外設接口,直到找到符合所述配置要求的目標串行外設接口;
36、將所述應用程序編程接口切換至所述目標本文檔來自技高網...
【技術保護點】
1.一種SPI通信方法,其特征在于,應用于包含多個串行外設接口的通信電路中,所述方法包括:
2.根據權利要求1所述的方法,其特征在于,所述對應用程序編程接口的傳輸需求進行解析,得到針對串行外設接口的配置要求,包括:
3.根據權利要求1所述的方法,其特征在于,所述對應用程序編程接口的傳輸需求進行解析,得到針對串行外設接口的配置要求,包括:
4.根據權利要求1所述的方法,其特征在于,根據所述配置要求,查找各個串行外設接口,直到找到符合所述配置要求的目標串行外設接口,包括:
5.根據權利要求1至4任意一項所述的方法,其特征在于,在對應用程序編程接口的傳輸需求進行解析,得到針對串行外設接口的配置要求之前,所述方法還包括:
6.根據權利要求1至4任意一項所述的方法,其特征在于,在將所述應用程序編程接口切換至所述目標串行外設接口,并建立通信之后,所述方法還包括:
7.一種SPI通信裝置,其特征在于,應用于包含多個串行外設接口的通信電路中,所述裝置包括:
8.一種計算機設備,包括存儲器和處理器,所述存儲器存儲有
9.一種計算機可讀存儲介質,其上存儲有計算機程序,其特征在于,所述計算機程序被處理器執行時實現權利要求1至6中任一項所述的方法的步驟。
10.一種計算機程序產品,包括計算機程序,其特征在于,所述計算機程序被處理器執行時實現權利要求1至6中任一項所述的方法的步驟。
...【技術特征摘要】
1.一種spi通信方法,其特征在于,應用于包含多個串行外設接口的通信電路中,所述方法包括:
2.根據權利要求1所述的方法,其特征在于,所述對應用程序編程接口的傳輸需求進行解析,得到針對串行外設接口的配置要求,包括:
3.根據權利要求1所述的方法,其特征在于,所述對應用程序編程接口的傳輸需求進行解析,得到針對串行外設接口的配置要求,包括:
4.根據權利要求1所述的方法,其特征在于,根據所述配置要求,查找各個串行外設接口,直到找到符合所述配置要求的目標串行外設接口,包括:
5.根據權利要求1至4任意一項所述的方法,其特征在于,在對應用程序編程接口的傳輸需求進行解析,得到針對串行外設接口的配置要求之前,所述方法還包括:
6.根據...
【專利技術屬性】
技術研發人員:胡超,梁偉,
申請(專利權)人:蘇州華太電子技術股份有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。