談?wù)剬C32F460芯片的QSPI理解_第1頁
談?wù)剬C32F460芯片的QSPI理解_第2頁
談?wù)剬C32F460芯片的QSPI理解_第3頁
談?wù)剬C32F460芯片的QSPI理解_第4頁
談?wù)剬C32F460芯片的QSPI理解_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

談?wù)剬C32F460芯片的QSPI理解

[導(dǎo)讀]近在學(xué)習(xí)華大的HC32F460這個芯片,今天想說說我對QSPI的理解。

出品21ic論壇

binoo7網(wǎng)站:

近在學(xué)習(xí)華大的HC32F460這個芯片,今天想說說我對QSPI的理解

一、定義

QSPI是QueuedSPI的簡寫,是Motorola公司推出的SPI接口的擴展,比SPI應(yīng)用更加廣泛。

在SPI協(xié)議的基礎(chǔ)上,Motorola公司對其功能進行了增強,增加了隊列傳輸機制,推出了隊列串行外圍接口協(xié)議(即QSPI協(xié)議)。QSPI是一種專用的通信接口,連接單、雙或四(條數(shù)據(jù)線)SPIFlash存儲介質(zhì)。

二.六種讀指令的方式

1.

標(biāo)準(zhǔn)讀指令1.1串行總線周期開始1.2串行閃存選擇信號被置為有效狀態(tài)1.3從QSIO0管腳輸出該指令的指令代碼(03h/13h)*11.4輸出目標(biāo)地址,該地址的寬度可以通過

QSFCR

寄存器中的AWSL[1:0]位來設(shè)置1.5接收數(shù)據(jù),QSPI的初始狀態(tài)選擇的指令就是標(biāo)準(zhǔn)讀指令。2.

快速讀指令

2.1

串行總線周期開始2.2

串行閃存選擇信號被置為有效狀態(tài)2.3

從QSIO0管腳輸出該指令的指令代碼(0Bh/0Ch)2.4

輸出目標(biāo)地址,地址寬度可以通過

QSFCR

寄存器中的

AWSL[1:0]位來設(shè)置2.5地址輸出后是一定數(shù)量的虛擬周期,其具體數(shù)量由QSFCR寄存器中的DMCYCN[3:0]決定。2.6

數(shù)據(jù)接收3.

二線式輸出快速讀指令二線式輸出快速讀是一種使用兩根信號線進行數(shù)據(jù)接收的讀指令。

3.1

總線周期開始3.2

串行閃存選擇信號被置為有效狀態(tài)3.3從QSIO0管腳輸出該指令的指令代碼(3Bh/3Ch)和目標(biāo)地址,地址寬度可以通過QSFCR寄存器中的AWSL[1:0]位來設(shè)置。3.4

一定數(shù)量的虛擬周期,其具體數(shù)量由

QSFCR

寄存器中的

DMCYCN[3:0]決定3.5通過QSIO0

和QSIO1兩根管腳進行數(shù)據(jù)接收。偶位數(shù)據(jù)在QSIO0

接收,奇位在QSIO1。4.

二線式輸入輸出快速讀指令二線式輸入輸出快速讀是一種使用兩根信號線進行地址發(fā)送和數(shù)據(jù)接收的讀指令。

4.1

串行總線周期開始4.2

串行閃存選擇信號被置為有效狀態(tài)4.3QSIO0

管腳輸出該指令的指令代碼(BBh/BCh)。4.4從QSIO0

和QSIO1兩個管腳輸出目標(biāo)地址,地址寬度可以通過QSFCR寄存器中的AWSL[1:0]位來設(shè)置。4.5一定數(shù)量的虛擬周期,其具體數(shù)量由QSFCR寄存器中的DMCYCN[3:0]決定。4.6通過QSIO0

和QSIO1兩根管腳進行數(shù)據(jù)接收。偶數(shù)位的地址和虛擬周期(包括XIP模式選擇信息)的傳輸及數(shù)據(jù)接收使用QSIO0

管腳,奇數(shù)位使用QSIO1管腳。5.

四線式輸出快速讀指令四線式輸出快速讀是一種使用四根信號線進行數(shù)據(jù)接收的讀指令。

5.1當(dāng)一個串行總線周期開始的時候5.2串行閃存選擇信號被置為有效狀態(tài)5.3QSIO0

管腳輸出該指令的指令代碼(6Bh/6Ch)和目標(biāo)地址,地址寬度通過

QSFCR

寄存器中的AWSL[1:0]位來設(shè)置5.4

在這之后是一定數(shù)量的虛擬周期,其具體數(shù)量由

QSFCR

寄存器中的

DMCYCN[3:0]決定5.5通過QSIO0,QSIO1,QSIO2和QSIO3四根管腳進行數(shù)據(jù)接收。6.四線式輸入輸出快速讀指令四線式輸入輸出快速讀是一種使用四根信號線進行地址發(fā)送和數(shù)據(jù)接收的讀指令。

6.1

串行總線周期開始6.2

串行閃存選擇信號被置為有效狀態(tài)6.3

從QSIO0

管腳輸出該指令的指令代碼(EBh/ECh)6.4從QSIO0,QSIO1,QSIO2和QSIO3四個管腳輸出目標(biāo)地址,地址寬度可以通過QSFCR寄存器中的AWSL[1:0]位來設(shè)置。6.5

一定數(shù)量的虛擬周期,具體數(shù)量由

QSFCR

寄存器中的

DMCYCN[3:0]決定6.6通過QSIO0,QSIO1,QSIO2和QSIO3四根管腳進行數(shù)據(jù)接收。通過以上的介紹,大家應(yīng)該能看的很清楚各種的數(shù)據(jù)讀取方式的共同點和不同點是什么共同點都是需要同步時鐘和片選信號

不同點就是發(fā)送數(shù)據(jù)的時用的是幾個引腳發(fā)送的,接收數(shù)據(jù)的時候是用的幾個引腳

.示例解析

數(shù)據(jù)讀取方式大家都清楚了,下面貼一個4線輸入輸出快速讀取的初始化函數(shù)配置過程,首先代碼如下:/*QSPCKPort/Pindefinition*/#defineQSPCK_PORT(PortC)#defineQSPCK_PIN(Pin06)/*QSNSSPort/Pindefinition*/#defineQSNSS_PORT(PortC)#defineQSNSS_PIN(Pin07)/*QSIO0Port/Pindefinition*/#defineQSIO0_PORT(PortD)#defineQSIO0_PIN(Pin08)/*QSIO1Port/Pindefinition*/#defineQSIO1_PORT(PortD)#defineQSIO1_PIN(Pin09)/*QSIO2Port/Pindefinition*/#defineQSIO2_PORT(PortD)#defineQSIO2_PIN(Pin10)/*QSIO3Port/Pindefinition*/#defineQSIO3_PORT(PortD)#defineQSIO3_PIN(Pin11)引腳的功能如上圖所示

如果是SPI通訊的話是4根線,一個時鐘線,一個片選線,兩個數(shù)據(jù)線MISO和MOSI

引腳既然比SPI多那么傳輸?shù)乃俣瓤隙ㄒ惨萐PI速度快,所以在應(yīng)用上可以來與片外的ROMRAMFLASH等進行通訊

宏定義大家都看到了對吧,下面是配置部分代碼如下:staticvoidQspiFlash_Init(void){stc_qspi_init_tstcQspiInit;/*configurationstructureinitialization*/MEM_ZERO_STRUCT(stcQspiInit);/*Configurationperipheralclock*/PWC_Fcg1PeriphClockCmd(PWC_FCG1_PERIPH_QSPI,Enable);/*ConfigurationQSPIpin*/PORT_SetFunc(QSPCK_PORT,QSPCK_PIN,Func_Qspi,Disable);PORT_SetFunc(QSNSS_PORT,QSNSS_PIN,Func_Qspi,Disable);PORT_SetFunc(QSIO0_PORT,QSIO0_PIN,Func_Qspi,Disable);PORT_SetFunc(QSIO1_PORT,QSIO1_PIN,Func_Qspi,Disable);PORT_SetFunc(QSIO2_PORT,QSIO2_PIN,Func_Qspi,Disable);PORT_SetFunc(QSIO3_PORT,QSIO3_PIN,Func_Qspi,Disable);/*ConfigurationQSPIstructure*/stcQspiInit.enClkDiv=QspiHclkDiv3;stcQspiInit.enSpiMode=QspiSpiMode3;stcQspiInit.enBusCommMode=QspiBusModeRomAccess;stcQspiInit.enPrefetchMode=QspiPrefetchStopComplete;stcQspiInit.enPrefetchFuncEn=Disable;stcQspiInit.enQssnValidExtendTime=QspiQssnValidExtendSck32;stcQspiInit.enQssnIntervalTime=QspiQssnIntervalQsck8;stcQspiInit.enQsckDutyCorr=QspiQsckDutyCorrHalfHclk;stcQspiInit.enVirtualPeriod=QspiVirtualPeriodQsck8;stcQspiInit.enWpPinLevel=QspiWpPinOutputHigh;stcQspiInit.enQssnSetupDelayTime=QspiQssnSetupDelay1Dot5Qsck;stcQspiInit.enQssnHoldDelayTime=QspiQssnHoldDelay1Dot5Qsck;stcQspiInit.enFourByteAddrReadEn=Disable;stcQspiInit.enAddrWidth=QspiAddressByteThree;stcQspiInit.stcCommProtocol.enReadMode=QspiReadModeFourWiresOutput;stcQspiInit.stcCommProtocol.enTransInstrProtocol=QspiProtocolExtendSpi;stcQspiInit.stcCommProtocol.enTransAddrProtocol=QspiProtocolExtendSpi;stcQspiInit.stcCommProtocol.enReceProtocol=QspiProtocolExtendSpi;stcQspiInit.u8RomAccessInstr=QSPI_3BINSTR_FOUR_WIRES_OUTPUT_READ;QSPI_Init(&stcQspiInit);}其實這部分配置代碼特別好理解咱們分開來看stc_qspi_init_tstcQspiInit;//首先是定義了一個stc_qspi_init_t類型的局部變量stcQspiInitMEM_ZERO_STRUCT(stcQspiInit);//對stcQspiInit初始化清零操作PWC_Fcg1PeriphClockCmd(PWC_FCG1_PERIPH_QSPI,Enable);//開啟QSPI電源,也就是要用到這個功能了//功能定義引腳名稱功能PORT_SetFunc(QSPCK_PORT,QSPCK_PIN,Func_Qspi,Disable);PORT_SetFunc(QSNSS_PORT,QSNSS_PIN,Func_Qspi,Disable);PORT_SetFunc(QSIO0_PORT,QSIO0_PIN,Func_Qspi,Disable);PORT_SetFunc(QSIO1_PORT,QSIO1_PIN,Func_Qspi,Disable);PORT_SetFunc(QSIO2_PORT,QSIO2_PIN,Func_Qspi,Disable);PORT_SetFunc(QSIO3_PORT,QSIO3_PIN,Func_Qspi,Disable);//下面是重點了,對參數(shù)進行配置,我們來看看都配置了哪些寄存器stcQspiInit.enClkDiv=QspiHclkDiv3;//QspiHclkDiv3

=2u,//Clocksource:HCLK/3//串行接口基準(zhǔn)時鐘選擇//

b5

b4

b3

b2

b1

b0//

0

0

0

0

0

0:2個HCLK周期//

0

0

0

0

0

1:2個HCLK周期*//

0

0

0

0

1

0:3個HCLK周期//

0

0

0

0

1

1:4個HCLK周期*stcQspiInit.enSpiMode=QspiSpiMode3;//QspiSpiMode3=1u,PI模式選擇0:SPI模式01:SPI模式3stcQspiInit.enBusCommMode=QspiBusModeRomAccess;//訪問模式QspiBusModeRomAccess

=0u,Romaccessmode//QSPI總線通信模式選擇//0:ROM訪問模式//1:直接通信模式stcQspiInit.enPrefetchMode=QspiPrefetchStopComplete;//QspiPrefetchStopComplete

=0u,//Stopafterprefetchdatacomplete//選擇重置預(yù)讀取動作的位置//0:當(dāng)前的預(yù)讀取動作在字節(jié)邊界中止//1:當(dāng)前的預(yù)讀取動作即時中止stcQspiInit.enPrefetchFuncEn=Disable;//預(yù)讀取功能有效/無效選擇//0:預(yù)讀取功能無效//1:預(yù)讀取功能有效stcQspiInit.enQssnValidExtendTime=QspiQssnValidExtendSck32;//QspiQssnValidExtendSck32

=1u,//QSSNvalidtimeextend32QSCKcycles//QSPI總線訪問后QSSN有效時間延長功能選擇//

b5b4//

00:不延長QSSN有效時間0//

01:將QSSN有效時間延長32個QSCK周期1//

10:將QSSN有效時間延長128個QSCK周期2//

11:將QSSN有效時間無限延長3stcQspiInit.enQssnIntervalTime=QspiQssnIntervalQsck8;//QspiQssnIntervalQsck8

=7u,//QSSNsignalminintervaltime8QSCK//QSSN信號最小無效時間選擇//b3b2b1b0//0000:1個QSCK周期//0001:2個QSCK周期stcQspiInit.enQsckDutyCorr=QspiQsckDutyCorrHalfHclk;//QspiQsckDutyCorrHalfHclk=1u,//QSCK'srisingedgedelay0.5HCLKcyclewhenQsckselectHCLKisodd//QSCK輸出波形占空比補正//0:不進行占空比補正//1:將QSCK的上升沿滯后0.5個HCLK周期//(當(dāng)QSCK選擇的頻率是HCLK的奇數(shù)倍時有效)stcQspiInit.enVirtualPeriod=QspiVirtualPeriodQsck8;QspiVirtualPeriodQsck8

=7u,Virtualperiodselect8QSCK//使用快速讀指令時虛擬周期數(shù)量選擇//b3b2b1b0//0000:3個QSCK周期*1//0001:4個QSCK周期//0010:5個QSCK周期stcQspiInit.enWpPinLevel=QspiWpPinOutputHigh;//QspiWpPinOutputHigh=1u,//WPpin(QIO2)outputhighlevel//WP管腳(QIO2)電平設(shè)置//0:低電平//1:高電平stcQspiInit.enQssnSetupDelayTime=QspiQssnSetupDelay1Dot5Qsck;//QspiQssnSetupDelay1Dot5Qsck=1u,//QSSNsetupdelay1.5QSCKoutputthanQSCKfirstrisingedge//QSSN信號輸出時序選擇//0:比QSCK第一個上升沿提前0.5個QSCK輸出QSSN//1:比QSCK第一個上升沿提前1.5個QSCK輸出QSSNstcQspiInit.enQssnHoldDelayTime=QspiQssnHoldDelay1Dot5Qsck;//QspiQssnHoldDelay1Dot5Qsck=1u,//QSSNholddelay1.5QSCKreleasethanQSCKlastrisingedge//QSSN信號釋放時序選擇//0:比QSCK最后一個上升沿滯后0.5個QSCK釋放QSSN//1:比QSCK最后一個上升沿滯后1.5個QSCK釋放QSSNstcQspiInit.enFourByteAddrReadEn=Disable;//當(dāng)?shù)刂穼挾葹?字節(jié)時的讀指令代碼選擇//0:不使用4字節(jié)地址讀指令代碼//1:使用4字節(jié)地址讀指令代碼stcQspiInit.enAddrWidth=QspiAddressByteThree;//QspiAddressByteThree=2u,

Threebyteaddress//串行接口地址寬度選擇//b1b0//00:1字節(jié)//01:2字節(jié)//10:3字節(jié)//11:4字節(jié)stcQspiInit.stcCommProtocol.enReadMode=QspiReadModeFourWiresOutput;//QspiReadModeFourWiresIO

=5u,//Fourwiresinput/outputfastread//串行接口讀取模式選擇//b2b1b0//000:標(biāo)準(zhǔn)讀0//001:快速讀1//010:二線式輸出快速讀2//011:二線式輸入輸出快速讀3//100:四線式輸出快速讀4//101:四線式輸入輸出快速讀5//110:自定義標(biāo)準(zhǔn)讀6//111:自定義快速讀7stcQspiInit.stcCommProtocol.enTransInstrProtocol=QspiProtocolExtendSpi;stcQspiInit.stcCommProtocol.enTransAddrProtocol=QspiProtocolExtendSpi;stcQspiInit.stcCommProtocol.enReceProtocol=QspiProtocolExtendSpi;QspiProtocolExtendSpi

=0u,Extendspiprotocol指令發(fā)送階段SPI協(xié)議選擇。地址發(fā)送階段SPI協(xié)議選擇數(shù)據(jù)接收階段SPI協(xié)議選擇b1b000:擴展式SPI協(xié)議01:二線式SPI協(xié)議10:四線式SPI協(xié)議11:設(shè)定禁止stcQspiInit.u8RomAccessInstr=QSPI_3BINSTR_FOUR_WIRES_OUTPUT_READ;//0xEBu//替換指令代碼

用于替代默認(rèn)指令的串行閃存指令代碼QSPI_Init(&stcQspiInit);以上就是我總結(jié)的QSPI的初始化部分因為HC32F460有自己QSPI庫函數(shù),在應(yīng)用的時候大家可以根據(jù)需要來調(diào)用庫函數(shù)進行通訊四.庫函數(shù)/***********************************************************************************\briefDe-InitializeQSPIunit****\param[in]None****\retvalOkProcesssuccessfullydone********************************************************************************/en_result_tQSPI_DeInit(void)/***********************************************************************************\briefInitializeQSPIunit****\param[in]pstcQspiInitCfgPointertoqspiconfiguration**\argSeethestruct#stc_qspi_init_t****\retvalOkProcesssuccessfullydone**\retvalErrorParametererror********************************************************************************/en_result_tQSPI_Init(conststc_qspi_init_t*pstcQspiInitCfg)/***********************************************************************************\briefConfigcommunicationprotocolstructure****\param[in]pstcCommProtocolPointertoqspicommunicationprotocolconfiguration**\argSeethestruct#stc_qspi_comm_protocol_t****\retvalOkProcesssuccessfullydone**\retvalErrorParametererror********************************************************************************/en_result_tQSPI_CommProtocolConfig(conststc_qspi_comm_protocol_t*pstcCommProtocol)/***********************************************************************************\briefEnableordisableprefetchfunction****\param[in]enNewStaThefunctionnewstate**\argDisableDisableprefetchfunction**\argEnableEnableprefetchfunction****\retvalOkProcesssuccessfullydone********************************************************************************/en_result_tQSPI_PrefetchCmd(en_functional_state_tenNewSta)/***********************************************************************************\briefSetclockdivision****\param[in]enClkDivClockdivision**\argQspiHclkDiv2Clocksource:HCLK/2**\argQspiHclkDiv3Clocksource:HCLK/3**\argQspiHclkDiv4Clocksource:HCLK/4**\argQspiHclkDiv5Clocksource:HCLK/5**\argQspiHclkDiv6Clocksource:HCLK/6**\argQspiHclkDiv7Clocksource:HCLK/7**\argQspiHclkDiv8Clocksource:HCLK/8**\argQspiHclkDiv9Clocksource:HCLK/9**\argQspiHclkDiv10Clocksource:HCLK/10**\argQspiHclkDiv11Clocksource:HCLK/11**\argQspiHclkDiv12Clocksource:HCLK/12**\argQspiHclkDiv13Clocksource:HCLK/13**\argQspiHclkDiv14Clocksource:HCLK/14**\argQspiHclkDiv15Clocksource:HCLK/15**\argQspiHclkDiv16Clocksource:HCLK/16**\argQspiHclkDiv17Clocksource:HCLK/17**\argQspiHclkDiv18Clocksource:HCLK/18**\argQspiHclkDiv19Clocksource:HCLK/19**\argQspiHclkDiv20Clocksource:HCLK/20**\argQspiHclkDiv21Clocksource:HCLK/21**\argQspiHclkDiv22Clocksource:HCLK/22**\argQspiHclkDiv23Clocksource:HCLK/23**\argQspiHclkDiv24Clocksource:HCLK/24**\argQspiHclkDiv25Clocksource:HCLK/25**\argQspiHclkDiv26Clocksource:HCLK/26**\argQspiHclkDiv27Clocksource:HCLK/27**\argQspiHclkDiv28Clocksource:HCLK/28**\argQspiHclkDiv29Clocksource:HCLK/29**\argQspiHclkDiv30Clocksource:HCLK/30**\argQspiHclkDiv31Clocksource:HCLK/31**\argQspiHclkDiv32Clocksource:HCLK/32**\argQspiHclkDiv33Clocksource:HCLK/33**\argQspiHclkDiv34Clocksource:HCLK/34**\argQspiHclkDiv35Clocksource:HCLK/35**\argQspiHclkDiv36Clocksource:HCLK/36**\argQspiHclkDiv37Clocksource:HCLK/37**\argQspiHclkDiv38Clocksource:HCLK/38**\argQspiHclkDiv39Clocksource:HCLK/39**\argQspiHclkDiv40Clocksource:HCLK/40**\argQspiHclkDiv41Clocksource:HCLK/41**\argQspiHclkDiv42Clocksource:HCLK/42**\argQspiHclkDiv43Clocksource:HCLK/43**\argQspiHclkDiv44Clocksource:HCLK/44**\argQspiHclkDiv45Clocksource:HCLK/45**\argQspiHclkDiv46Clocksource:HCLK/46**\argQspiHclkDiv47Clocksource:HCLK/47**\argQspiHclkDiv48Clocksource:HCLK/48**\argQspiHclkDiv49Clocksource:HCLK/49**\argQspiHclkDiv50Clocksource:HCLK/50**\argQspiHclkDiv51Clocksource:HCLK/51**\argQspiHclkDiv52Clocksource:HCLK/52**\argQspiHclkDiv53Clocksource:HCLK/53**\argQspiHclkDiv54Clocksource:HCLK/54**\argQspiHclkDiv55Clocksource:HCLK/55**\argQspiHclkDiv56Clocksource:HCLK/56**\argQspiHclkDiv57Clocksource:HCLK/57**\argQspiHclkDiv58Clocksource:HCLK/58**\argQspiHclkDiv59Clocksource:HCLK/59**\argQspiHclkDiv60Clocksource:HCLK/60**\argQspiHclkDiv61Clocksource:HCLK/61**\argQspiHclkDiv62Clocksource:HCLK/62**\argQspiHclkDiv63Clocksource:HCLK/63**\argQspiHclkDiv64Clocksource:HCLK/64****\retvalOkProcesssuccessfullydone********************************************************************************/en_result_tQSPI_SetClockDiv(en_qspi_clk_div_tenClkDiv)/***********************************************************************************\briefSetWPPinlevel****\param[in]enWpLevelWPpinlevel**\argQspiWpPinOutputLowWPpin(QIO2)outputlowlevel**\argQspiWpPinOutputHighWPpin(QIO2)outputhighlevel****\retvalOkProcesssuccessfullydone********************************************************************************/en_result_tQSPI_SetWPPinLevel(en_qspi_wp_pin_level_tenWpLevel)/***********************************************************************************\briefSetcommunicationaddresswidth****\param[in]enAddrWidthCommunicationaddresswidth**\argQspiAddressByteOneOnebyteaddress**\argQspiAddressByteTwoTwobyteaddress**\argQspiAddressByteThreeThreebyteaddress**\argQspiAddressByteFourFourbyteaddress****\retvalOkProcesssuccessfullydone********************************************************************************/en_result_tQSPI_SetAddrWidth(en_qspi_addr_width_tenAddrWidth)/***********************************************************************************\briefSetextendaddressvalue****\param[in]u8AddrExtendaddressvalue**\arg0~0x3F****\retvalOkProcesssuccessfullydone********************************************************************************/en_result_tQSPI_SetExtendAddress(uint8_tu8Addr)/***********************************************************************************\briefSetromaccessinstruction****\param[in]u8InstrRomaccessinstruction**\arg0~0xFF****\retvalOkProcesssuccessfullydone********************************************************************************/en_result_tQSPI_SetRomAccessInstruct(uint8_tu8Instr)/***********************************************************************************\briefReaddirectcommunicationvalue****\param[in]None****\retvaluint8_tDirectcommunicationreadvalue********************************************************************************/uint8_tQSPI_ReadDirectCommValue(void)/***********************************************************************************\briefEnableordisablexipmode****\param[in]u8InstrEnableordisablexipmodeinstruction**\arg0~0xFF****\param[in]enNewStaThefunctionnewstate**\argDisableDisablexipmode**\argEnableEnablexipmode****\retvalOkProcesssuccessfullydone********************************************************************************/en_result_tQSPI_XipModeCmd(uint8_tu8Instr,en_functional_state_tenNewSta)/***********************************************************************************\briefEnterdirectcommunicationmode****\param[in]None****\retvalOkProcesssuccessfullydone****\noteIfyouareinXIPmode,youneedtoexitXIPmodeandthenstartdirectcommunicationmode.********************************************************************************/en_result_tQSPI_EnterDirectCommMode(void)/***********************************************************************************\briefExitdirectcommunicationmode****\param[in]None****\retvalOkProcesssucces

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論