CH341A/T在IIC模式下,其它腳能當(dāng)I/O口用么?因?yàn)橹挥脕碜鯥IC總線時(shí),其它口比較浪費(fèi),并且想其它I/O口做輸出片選.請說明如何使用.
CH341T在IIC模式下沒有API來操作I/O CH341A在IIC模式下可以使用以下兩個(gè)API來控制I/O: BOOL WINAPI CH341SetOutput( // 設(shè)置CH341的I/O方向,并通過CH341直接輸出數(shù)據(jù) /* ***** 謹(jǐn)慎使用該API, 防止修改I/O方向使輸入引腳變?yōu)檩敵鲆_導(dǎo)致與其它輸出引腳之間短路而損壞芯片 ***** */ ULONG iIndex, // 指定CH341設(shè)備序號(hào) ULONG iEnable, // 數(shù)據(jù)有效標(biāo)志,參考下面的位說明 // 位0為1說明iSetDataOut的位15-位8有效,否則忽略 // 位1為1說明iSetDirOut的位15-位8有效,否則忽略 // 位2為1說明iSetDataOut的7-位0有效,否則忽略 // 位3為1說明iSetDirOut的位7-位0有效,否則忽略 // 位4為1說明iSetDataOut的位23-位16有效,否則忽略 ULONG iSetDirOut, // 設(shè)置I/O方向,某位清0則對應(yīng)引腳為輸入,某位置1則對應(yīng)引腳為輸出,并口方式下默認(rèn)值為0x000FC000,參考下面的位說明 ULONG iSetDataOut ); // 輸出數(shù)據(jù),如果I/O方向?yàn)檩敵?那么某位清0時(shí)對應(yīng)引腳輸出低電平,某位置1時(shí)對應(yīng)引腳輸出高電平,參考下面的位說明 // 位7-位0對應(yīng)CH341的D7-D0引腳 // 位8對應(yīng)CH341的ERR#引腳, 位9對應(yīng)CH341的PEMP引腳, 位10對應(yīng)CH341的INT#引腳, 位11對應(yīng)CH341的SLCT引腳 // 位13對應(yīng)CH341的WAIT#引腳, 位14對應(yīng)CH341的DATAS#/READ#引腳,位15對應(yīng)CH341的ADDRS#/ADDR/ALE引腳 // 以下引腳只能輸出,不考慮I/O方向: 位16對應(yīng)CH341的RESET#引腳, 位17對應(yīng)CH341的WRITE#引腳, 位18對應(yīng)CH341的SCL引腳, 位29對應(yīng)CH341的SDA引腳
BOOL WINAPI CH341Set_D5_D0( // 設(shè)置CH341的D5-D0引腳的I/O方向,并通過CH341的D5-D0引腳直接輸出數(shù)據(jù),效率比CH341SetOutput更高 /* ***** 謹(jǐn)慎使用該API, 防止修改I/O方向使輸入引腳變?yōu)檩敵鲆_導(dǎo)致與其它輸出引腳之間短路而損壞芯片 ***** */ ULONG iIndex, // 指定CH341設(shè)備序號(hào) ULONG iSetDirOut, // 設(shè)置D5-D0各引腳的I/O方向,某位清0則對應(yīng)引腳為輸入,某位置1則對應(yīng)引腳為輸出,并口方式下默認(rèn)值為0x00全部輸入 ULONG iSetDataOut ); // 設(shè)置D5-D0各引腳的輸出數(shù)據(jù),如果I/O方向?yàn)檩敵?那么某位清0時(shí)對應(yīng)引腳輸出低電平,某位置1時(shí)對應(yīng)引腳輸出高電平 // 以上數(shù)據(jù)的位5-位0分別對應(yīng)CH341的D5-D0引腳