日本a√视频在线,久久青青亚洲国产,亚洲一区欧美二区,免费g片在线观看网站

        <style id="k3y6c"><u id="k3y6c"></u></style>
        <s id="k3y6c"></s>
        <mark id="k3y6c"></mark>
          
          

          <mark id="k3y6c"></mark>

          新聞中心

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

          DSP的SPI口和串行EEPROM在變頻器中的應(yīng)用

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

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

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

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

           ?。?unsigned int I;

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

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

            *DAT=WRITE; /*發(fā)送x5168的寫(xiě)狀態(tài)寄存器命令字*/

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

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

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

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

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

            *SPIDAT=EEP_ADDR; /*先發(fā)送高位地址在發(fā)送低位地址*/

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

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

            for (I=0;I

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

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

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

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

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

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

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

           ?。?p>  c).為向狀態(tài)寄存器寫(xiě)數(shù)據(jù),在WRSR指令(00000001B)之后應(yīng)跟隨被寫(xiě)入的數(shù)據(jù)(見(jiàn)圖6),數(shù)據(jù)位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ě)結(jié)束*/

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

            *SPIDAT=COM; /*STATUS_REG發(fā)送狀態(tài)字*/

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

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

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

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

           ?。?p>  以上子程序?qū)崿F(xiàn)了對(duì)X5168的讀寫(xiě)功能,在主程序中調(diào)用這些子程序就可實(shí)現(xiàn)對(duì)X5168的操作。

          5 結(jié)束語(yǔ)

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


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

          評(píng)論


          相關(guān)推薦

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

          關(guān)閉