<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > DSP的SPI口和串行EEPROM在變頻器中的應用

DSP的SPI口和串行EEPROM在變頻器中的應用

作者: 時(shí)間:2009-05-07 來(lái)源:網(wǎng)絡(luò ) 收藏

圖5 寫(xiě)陣列時(shí)序圖

  以下是寫(xiě)陣列子程序,RA_ADDR為存儲要寫(xiě)數據數組的首地址,EEP_ADDR為要寫(xiě)入的首地址,N要存儲數據的個(gè)數。

  void WRITE_(unsigned int * RA_ADDR, unsigned int EEP_ADDR, unsigned int N)

 ?。?unsigned int I;

  WREN_(); /*寫(xiě)使能*/

 ?。?a class="contentlabel" href="http://dyxdggzs.com/news/listbylabel/label/SPI">PC1=0xBF; /*置低STE引腳,從而選通*/

 ?。?a class="contentlabel" href="http://dyxdggzs.com/news/listbylabel/label/SPI">DAT=WRITE; /*發(fā)送x5168的寫(xiě)狀態(tài)寄存器命令字*/

  while((*SPISTS0x40)!=0x40){} /*等待SPI寫(xiě)結束*/

  readspibuf=*SPIBUF; /*讀SPIBUF寄存器,清除SPI INT FLAG 位*/

 ?。猄PIDAT=EEP_ADDR>>8; /*先發(fā)送高位地址在發(fā)送低位地址*/

  while((*SPISTS0x40)!=0x40){} /*等待SPI寫(xiě)結束*/

  readspibuf=*SPIBUF; /*讀SPIBUF寄存器,清除SPI INT FLAG 位*/

 ?。猄PIDAT=EEP_ADDR; /*先發(fā)送高位地址在發(fā)送低位地址*/

  while((*SPISTS0x40)!=0x40){} /*等待SPI寫(xiě)結束*/

  readspibuf=*SPIBUF; /*讀SPIBUF寄存器,清除SPI INT FLAG 位*/

  for (I=0;I

 ?。?*SPIDAT =*(RA_ADDR+I)>>8 ; /*發(fā)送數據用數組傳送,傳送數據高八位*/

  while((*SPISTS0x40)!=0x40){} /*等待SPI寫(xiě)結束*/

  readspibuf=*SPIBUF; /*讀SPIBUF寄存器,清除SPI INT FLAG 位*/

 ?。猄PIDAT =*(RA_ADDR+I) ; /*發(fā)送數據用數組傳送,傳送數據第八位*/

  while((*SPISTS0x40)!=0x40){} /*等待SPI寫(xiě)結束*/

  readspibuf=*SPIBUF; /*讀SPIBUF寄存器,清除SPI INT FLAG 位*/

 ?。?p> ?。猄PIPC1|=0x40; /*置高SPISTE引腳,從而禁止X5168*/

 ?。?p>  c).為向狀態(tài)寄存器寫(xiě)數據,在WRSR指令(00000001B)之后應跟隨被寫(xiě)入的數據(見(jiàn)圖6),數據位0和位1必須為“0”。

圖6 寫(xiě)狀態(tài)寄存器時(shí)序圖

  以下是寫(xiě)狀態(tài)寄存器子程序:

  void WRSR_X5168(unsigned int COM) /*寫(xiě)狀態(tài)*/

 ?。?WREN_X5168(); /*寫(xiě)使能*/

 ?。猄PIPC1=0xBF; /*置低SPISTE引腳,從而選通X5168*/

 ?。猄PIDAT=WRSR; /*發(fā)送X5168的寫(xiě)狀態(tài)寄存器命令字*/

  while((*SPISTS0x40)!=0x40){} /*等待SPI寫(xiě)結束*/

  readspibuf=*SPIBUF; /*讀SPIBUF寄存器,清除SPI INT FLAG 位*/

 ?。猄PIDAT=COM; /*STATUS_REG發(fā)送狀態(tài)字*/

  while((*SPISTS0x40)!=0x40){} /*等待SPI寫(xiě)結束*/

  readspibuf=*SPIBUF; /*讀SPISTS寄存器,清除SPI INT FLAG 位*/

 ?。猄PIPC1|=0x40; /*置高SPISTE引腳,從而禁止X5168*/

  TIMEDEL(5); /*延時(shí)1us*/

 ?。?p>  以上子程序實(shí)現了對X5168的讀寫(xiě)功能,在主程序中調用這些子程序就可實(shí)現對X5168的操作。

5 結束語(yǔ)

  由于篇幅的原因,本文沒(méi)有過(guò)多的講述外設接口和X5168的各項特性,這些說(shuō)明書(shū)上都有敘述且很具體。而是把重點(diǎn)放在了講述擴展EEPROM的軟硬件設計,該設計已成功在筆者開(kāi)發(fā)的中,經(jīng)過(guò)反復測試,運行可靠。


上一頁(yè) 1 2 3 4 5 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>